Dans le code suivant,Ajout d'un entier à un pointeur
#include<stdio.h>
int main()
{
short a[2]={5,10};
short *p=&a[1];
short *dp=&p;
printf("%p\n",p);
printf("%p\n",p+1);
printf("%p\n",dp);
printf("%p\n",dp+1);
}
Maintenant la sortie je suis arrivé était: 0xbfb45e0a
0xbfb45e0c
0xbfb45e04
0xbfb45e06
Ici, je compris p et p + 1, mais lorsque nous faisons dp + 1, alors que dp pointe vers un pointeur court, et puisque le pointeur sur court est de 4 octets, alors dp + 1 devrait augmenter de 4 unités mais
n'augmente que de 2.
Veuillez expliquer la raison.
'short ** dp' est un pointeur vers un pointeur – Anycorn