Un problem des tableaux en C.

Dionysusxx -  
fiddy Messages postés 11653 Statut Contributeur -
Bonjour:

J'ai un examen en language C et je veut bien savoir ce que A+5; signifie quand A est declaré comme un tableau.
j'ai entendue que A est un pointeur CONSTANT au premier element de tableau..donc j'ai assumé que A+5 pourait etre un erreur ..mais je veux bien etre sure..merci beaucoup de vorte aide.
A voir également:

2 réponses

loupius Messages postés 789 Statut Membre 148
 
Non, à priori, ce n'est pas une erreur:
  int A[10];
  int* p = A + 5;
est parfaitement compilable.
Bonne continuation.
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Salut,

j'ai entendue que A est un pointeur CONSTANT au premier element de tableau
Attention. Si A est un tableau, ce n'est pas un pointeur constant sur le premier élément du tableau sauf dans certains contextes spécifiques comme l'addition, le passage en argument). Il ne faut pas confondre tableau et pointeur.

A+5 (contexte d'addition donc il s'agit d'un pointeur dans ce cas) désignera donc un pointeur constant sur le sixième élément du tableau. Il ne s'agit donc pas d'une erreur.

Cdlt,
0