好的,所以我正在学习指针,但我无法理解指针在数组中的作用。
基本上给出了这个:
int a[5] = {1,2,4,7,7}; // (allocated at 0xA000)
int b[5] = {4,3,5,1,8}; // (at 0xA0020)
short *c[2]; // (at 0xA0040)
c[0] = (short *)b;
c[1] = (short *)a;
我应该确定这些计算的值。
c[0] + 4
据我了解c
是一个指针数组。c[0]
是一个包含指向数组第一个元素的指针的short b
。如果b
开始于0xA0020
为什么是那c[0] + 4
不是0xA0024
,而是它是0xA0028
。
另外,我应该如何确定c[1][2]
. c
不是多维数组,那么这个计算将如何进行呢?
谢谢!