在下面的代碼,加成的整數的的指針
#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);
}
現在,我得到的輸出是: 0xbfb45e0a
0xbfb45e0c
0xbfb45e04
0xbfb45e06
在這裏,我理解P和P + 1,但是當我們做dp + 1時,那麼因爲dp指向指向short的指針,因爲指向short的指針大小是4個字節,所以dp + 1應該增加4個單位,但是它會增加
只增加了2.
請說明原因。
'short ** dp'是指向指針的指針 – Anycorn 2010-05-10 14:13:51