Comme je suis prof de C/UNIX, voici mon humble explication ...
Dans un programme qui s'exécute (un process quoi), on distingue deux parties : statique et dynamique.
Dans la partie dynamique on va trouver tes variables (*sChaine par ex) qui peuvent changer au cour de l'exécution (allocation, free, toussa ...)
Dans la partie statique, on va trouver les variables et constantes dont la valeur a pu être définie au moment de la compilation (#define , chaines constantes : char *str="coin ! coin !\n", etc ...)
La partie dynamique est evidement en R/W.
La partie statique est en RO !
donc faire sChaine = CHAINE1 affecte a un pointeur sur char une adresse pointant dans la partie statique de ton programme, donc un access que tu crois en R/W alors qu'il sera en fait en RO ! Une belle source de core dumps !
Maintenant, si tu te contente de les afficher, aucun pb. par contre, essaye de faire un :
sChaine = CHAINE1;
sChaine[0] = sChaine[0] - 'a' + 'a'; // Met en majuscule la 1ere lettre de la chaine
# je ne fait que mon boulot ...
Posté par vincent LECOQ (site web personnel) . En réponse au message Chaines constantes.... Évalué à 7.
Dans un programme qui s'exécute (un process quoi), on distingue deux parties : statique et dynamique.
Dans la partie dynamique on va trouver tes variables (*sChaine par ex) qui peuvent changer au cour de l'exécution (allocation, free, toussa ...)
Dans la partie statique, on va trouver les variables et constantes dont la valeur a pu être définie au moment de la compilation (#define , chaines constantes : char *str="coin ! coin !\n", etc ...)
La partie dynamique est evidement en R/W.
La partie statique est en RO !
donc faire sChaine = CHAINE1 affecte a un pointeur sur char une adresse pointant dans la partie statique de ton programme, donc un access que tu crois en R/W alors qu'il sera en fait en RO ! Une belle source de core dumps !
Maintenant, si tu te contente de les afficher, aucun pb. par contre, essaye de faire un :
sChaine = CHAINE1;
sChaine[0] = sChaine[0] - 'a' + 'a'; // Met en majuscule la 1ere lettre de la chaine
Ca plante aussi sec !