Bonjour,
Me voilà à nouveau confronté à un problème pour lequel je ne vois pas où je me trompe.
Si j'écris ceci en une seule ligne :
Aucune erreur de compilation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part char name[5+1] = "Annie";
Si je l'écris en deux comme ceci :
Je reçois cette erreur à la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char name[5+1]; name = "Annie";
Si je lis le message d'erreur, je serais en train d'assigner un type "array" à une expression ? Serait-ce dû au fait que le nom du tableau est en fait un pointeur vers le premier élément du tableau ? Mais alors pourquoi ça fonctionne dans le premier cas ?run.c: In function ‘main’:
run.c:8:7: error: assignment to expression with array type
8 | name = "Annie";
Je suis un peu perdu...
d'avance pour vos lumières !
Sébastien





d'avance pour vos lumières !
Répondre avec citation







, tes explications sont claires et c'est 1 sujet de base (comme je l'ai dit). Donc il faut savoir distinguer et maîtriser littéral tableau vs littéral pointeur, affectation vs initialisation, initialisation crochet (que l'on peut utiliser pour les initialisations d'1 structure)


Partager