二維陣列中&a[1]可以看成首元素地址a向右偏移1位a+1,然后間接參考得到第二個元素的首地址*(a+1),然后再取它首地址的地址&(*(a+1))嗎?
下面這個程式結果為什么是1,4,8啊?
int main()
{
int a[5][2] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int* p = a;
int (*p2)[2] = &a[1];
++p;
++p2;
printf("%d\n", *p);
printf("%d\n", **p2);
printf("%d\n", p2[1][2]);
return 0;
}
uj5u.com熱心網友回復:
a[i] 等同于 *(a+i)a+i 等同于 &a[i]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/47622.html
標籤:基礎類
上一篇:Failed to write core dump. Core dumps have been disabled
下一篇:C++記憶體例外
