Quelle est la différence entre char s[] et char *s?

En C, on peut utiliser une chaîne de caractères littérale dans une déclaration comme ceci:

char s[] = "hello";

ou comme ceci:

char *s = "hello";

Quelle est donc la différence? Je veux savoir ce qui se passe réellement en termes de durée de stockage, à la fois lors de la compilation et de l'exécution.

  • c-faq.com/aryptr/index.html c-faq.com/charstring/index.html
  • char *s="bonjour", ici, peut pointer n'importe quelle autre chaîne au moment de l'exécution, je veux dire qu'elle n'est pas constante pointeur vous pouvez affecter une autre valeur au moment de l'exécution p = "Nishant", alors que la s[] ici s est un pointeur constant....il ne peut pas être reasign une autre chaîne de caractères, mais on peut lui assigner une autre valeur de caractère à s[index].
InformationsquelleAutor | 2009-11-09