Char e stringa nulla

di il
2 risposte

Char e stringa nulla

In C++ vedo che non è contemplato un oggetto nullo di tipo char cioè se faccio:
char p='';
il compilatore si arrabbia e dice : error: empty character constant

mentre invece con le stringhe è accettato, infatti:
char p[]="";
non restituisce errori, ma allora non c'e' modo di dire che un oggetto char è vuoto?!?

2 Risposte

  • Re: Char e stringa nulla

    No un char non può essere vuoto. Ma il suo valore può essere 0 (NULL). La stringa può non esistere perché il suobpuntatore è NULL. Oppure il suo puntatore esiste ma punta ad un carattere NULL e in quel caso la stringa esiste e ha lunghezza zero.

    Ti ripeto però che è tutta roba elementare del C che si apprende sui libri e non con mille domande su un forum.
  • Re: Char e stringa nulla

    il compilatore si arrabbia e dice : error: empty character constant
    L'errore è legato all'uso di
    ''
    e non direttamente alla variabile char.
    Anche se scrivi
    cout << '';
    o
    char c[] = {'r', '', '\0'};
    ricevi lo stesso errore.
    ma allora non c'e' modo di dire che un oggetto char è vuoto?!?
    Una cosa è dire che un oggetto è vuoto (cosa impossibile), altra è dire che assume un valore nullo (scelto per convenzione tra tutti i possibili valori).
Devi accedere o registrarti per scrivere nel forum
2 risposte