[C] tableau de chars en paramètre d'une fonction

Je voulais voir si le compilo faisait une difference entre un tableau fixe et une allocation memoire.

Et donc non.
Pour le (int), je l’ai mis parce que j’avais un warning.

LoneWolf
Bon bah tant pis

[quote=« Drealmer, post:20, topic: 29479 »]Pour kineox, la réponse est non y’a pas d’erreur dans « *(tab + 2) + 4; », j’explique:

  1. le type de tab est char[4][10]
  2. or a[x] et *(a+x) sont équivalents
  3. donc le type de *(tab+2) est le même que celui de tab[2], càd char[10].
  4. même raisonnement pour le +4.

Vu d’une autre façon, on a:

[code]*(tab + 2) + 4;

tab[2] + 4;

&tab[2][4];[/code]

(notez l’introduction du & au niveau de la dernière ligne)[/quote]

Exact je viens de tester et tu as raison :stuck_out_tongue: En fait je croyais que tab[2] ou tab + 2 allait sélectionner le deuxième char dans la mémoire, alors que ça sélectionne le 20ème.
Et c’est expliqué dans le Reference Manual du K&R, j’aurais du lire cette section avant :stuck_out_tongue: