Добавление целого числа к указателю
В следующем коде,
#include<stdio.h>
int main()
{
short a[2]={5,10};
short *p=&a[1];
short *dp=&p;
printf("%pn",p);
printf("%pn",p+1);
printf("%pn",dp);
printf("%pn",dp+1);
}
Теперь вывод, который я получил, был :
0xbfb45e0a
0xbfb45e0c
0xbfb45e04
0xbfb45e06
Здесь я понял p и p+1, но когда мы делаем dp+1, то так как dp указывает на указатель на short,
а так как указатель на short имеет размер 4 байта, то dp+1 должен увеличиться на 4 единицы, но это
увеличивается только на 2.
Пожалуйста, объясните причину.