int numb[4] = {10, 20, 30, 40};
int *p = (int *)(&numb + 1);
NSLog(@"%d", *(p - 1));
答案是 40
int num[2][2][2] = {
{
{10, 20},
{30, 40}
},
{
{50, 60},
{70, 80}
},
};
NSLog(@"%p---%p", num, num[0]+1); //0x7ffeeb202ba0---0x7ffeeb202ba8
NSLog(@"%p---%p", num, num[0][0]+1); //0x7ffeeb25bba0---0x7ffeeb25bba4
NSLog(@"%p---%p", num, &num[0][0]+1); //0x7ffeeb202ba0---0x7ffeeb202ba8
int numb[4] = {10, 20, 30, 40};
NSLog(@"%p---%p", numb, numb+1); // 0x7ffeea462bb0---0x7ffeea462bb4
NSLog(@"%p---%p", &numb, &numb+1); // 0x7ffeea462bb0---0x7ffeea462bc0
// 单独的数组名表示 :数组第一个元素的地址,并且增加的单元也是一个元素的内存大小
// 数组名前加上&:表示以整个数组为单位的地址,增加的单元为整个数组的大小
网友评论