3Fermer5
imbibinebeLe 28/01/2004 à 17:12
donc TIGCC "optimise" et ne la crée qu'une seule fois

ouais , pour l'instant c'est ss VC++ que je l'ai compilé mais il fait peut être comme TIGCC ... même si ça m'étonnerais

Kevin> ok, donc il y a une erreur ds la doc de TIGCC(chapitre "ponctuators\quotes"):
for (i = 0; i < 2; i++)
  {
    char str[] = "Hello";
    printf (str);
    str[0] = 'a';
  }

This program will work as expected (it will display "Hello" twice). But, if you change 'str[]' to '*str',
 it will not work as expected (it will display "Hello" and then "aello"). 

car en changeant str[] en *str on obtient une erreur et pas un "aello" ...

e str1[] me donne une copie modifiable ne m'explique tjs pas (enfin vu mon niveau c ptet normal :-D) pourquoi le contenu de str1 et sa propre adresse son identiques (et surtout différents de l'adresse de la chaîne "Hello"). Je ne vois donc pas comment cette instruction *str1='a';le fait qu pourrait modifier la chaîne "Hello" alors que logiquement elle devrait modifier le contenu de la case pointée par str1, qui n'est autre que str1 confus . Au dernier printf j'aurais donc dû obtenir
&str1=ascii('a') str1=ascii('a')
ce truc me parait illogique (même s'il est fort probable que ce soit moi qui ait l'esprit tordu grin)