指针怪问题,请帮忙。
程序如下:
main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int *p;
p=a;
p=p+1;
}
调试时候,
a的地址:0x240ff30
p=a 所以p的地址:0x240ff30
但是最后p=p+1后 p的地址:0x240ff34
问题:
p开始的时候已经指向a,即数组的行地址,所以理论执行p+1后,地址应该为0x240ff40。但是调试结果并不相同。
另外,我试过将最后两句改成:
p=a+1; 0x240ff40
p=p+1; 0x240ff44
结果显示p+1指向下一列元素,为何?
问题点数:0、回复次数:0Top




