0
int intarray[256] = {0, 11, 12, 13, 14, 15, 16, 17, 18, 19};
int* ptrA;
ptrA = &intarray[0];
如果pta是局部變量的內容,它是intarray [0]的地址,那麼pta +5是什麼意思?C內存地址問題
任何人都可以解釋嗎?謝謝
int intarray[256] = {0, 11, 12, 13, 14, 15, 16, 17, 18, 19};
int* ptrA;
ptrA = &intarray[0];
如果pta是局部變量的內容,它是intarray [0]的地址,那麼pta +5是什麼意思?C內存地址問題
任何人都可以解釋嗎?謝謝
它指向第六個元素。指針添加通過目標類型的大小進行隱式乘法。
int intarray[] = {0,11,12,13,14,15,...,19};
int* ptrA = intarray;
int v = *(ptrA + 5); // v == 15
sizeof int不等於1 ...:'pta + 5!=&pta [5]' – Phong 2011-03-08 07:33:10
否@Phong。正如西蒙所說 - 添加到指針需要考慮sizeof()。 – Dre 2011-03-08 07:34:54
@Phong,ptrA是一個整型指針(int *)因此當你說'ptrA + 5'時,它實際上意味着'ptrA + 5 * sizeof(int)' – 2011-03-08 07:36:22