C语言指针小难题

int array[10];

int (*ptr)[10];

ptr=&array;    ptr的类型是int (*)[10]

*ptr 的类型是int [10],存的也就是数组的首地址

*(*ptr)    也就是取数组首个位置的值

*(*(ptr+4)+8)    意为ptr+4 = ptr + int [10]的宽度*4 ptr+4也就是160 +8意为加上int的宽度*8 也就是32

最后找到的就是数组192位置处的值

你可能感兴趣的:(C语言指针小难题)