Bonjour à vous,

En refaisant les annales de C, je suis tombé sur un exercice simple mais qui comporte des notations que je ne comprends pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
int t[4][3]={{4,6,12},{1,7,11},{10,5,21},{3,9,2}};
    int u[4]={1,2,3,4};
    int *p = &t[1][2], *q = &t[3][1];
    int *x = t[1], *y = t[2];
    int (*a)[3] = &t[1], (*b)[3]=&t[2];
    printf(" %d \n",**t+3+1);// Je ne vois pas à quoi ca correspond ?
    printf("%d \n ", y - x); // non plus
En effet, **t+3+1 me renvoie 8 (qui ne correspond à aucune valeur ) et y - x me retourne 3...

2 pointeurs sur int ne devrait pas etre séparé par 4 cases en mémoire (ou ca n a aucun rapport) ?

Enfin, l'expression que je ne reconnais meme pas à défaut de ne pas la comprendre...

Merci d'avance.