string[0] = "";
"warning: assignment makes integer from pointer without a cast
Ok, tuffiamoci nell'espressione ...
0
un int: rappresenta il numero di caratteri (supponendo string
è (o decaduta in) un char *) per avanzare dall'inizio dell'oggetto string
string[0]
: l'oggetto char
situato all'inizio della oggetto string
""
: stringa letterale: un oggetto di tipo char[1]
=
: assegnazione dell'operatore: trie per assegnare un valore di tipo char[1]
a un oggetto di tipo char
. char[1]
(decaduto a char*
) e char
non sono compatibili incarico, ma il compilatore fida di te (il programmatore) e va avanti con l'assegnazione comunque lanciando il tipo char*
(cosa char[1]
decaduto a) ad un int
--- e si ottiene la avvertimento come bonus. Hai un compilatore davvero bello :-)
Qual è il punto di dichiarare una stringa di 0 caratteri? – cdhowie
Qual è il tipo di stringa? È un puntatore char o un array di caratteri? – nos
Che cos'è 'stringa'? – leppie