Bonjour,
s'il vous plaît, que retourne une chaîne de caractères constante placée entre guillemets ?
retourne-t-elle une adresse mémoire d'un caractère ? (de son premier caractère) ?
Peut-on écrire : "bonjour"[n] ?
Merci.
Version imprimable
Bonjour,
s'il vous plaît, que retourne une chaîne de caractères constante placée entre guillemets ?
retourne-t-elle une adresse mémoire d'un caractère ? (de son premier caractère) ?
Peut-on écrire : "bonjour"[n] ?
Merci.
En C, pour des raisons historiques, c'est bien compatible avec char*, mais c'est peut-être char[taille] en fait. En tout cas, Visual accepte de compiler ceci:
Et proteste sur ceci:Code:
1
2
3 { char (*p)[8] = &"bonjour"; }
Code:
1
2
3 { char **p = &"bonjour"; /* warning C4047: 'initializing' : 'char **' differs in levels of indirection from 'char (*)[8]' */ }
Avec le switch -Wwrite-strings de gcc, on passe à const char[taille].
L'adresse de son premier caractère.Citation:
s'il vous plaît, que retourne une chaîne de caractères constante placée entre guillemets ?
Oui.Citation:
retourne-t-elle une adresse mémoire d'un caractère ? (de son premier caractère) ?
Ça compile sans erreur sous Visual C++ et sous Code::Block mingwCitation:
Peut-on écrire : "bonjour"[n] ?