您的位置:首页 > 编程语言 > C语言/C++

关于C语言数组与指针的联系一起

2017-07-15 17:06 302 查看
      之前自己写了一篇名为关于C语音二维数组的进一步理解。这篇算是结合指针再进一步理解。

      在理解数组和指针相关内容时候总是犯迷糊,不能把他们很好的联系到一起。这个地方也很绕,反反复复学了几遍还是不能很好记忆理解,今天把他们mark一下,方便今后有时间查找,反复记忆。通过下面实验的照片理解。




最后画的一个总结图。



代码如下:方便复制验证

# include<stdio.h>

int main(void)

{

int a[3][4] = {{1,4,7,9},{10,40,70,90},{100,400,700,900}};

int i,j;
for(i=2; i>=0; i--)
for(j=3; j>=0; j--)
{
printf("&a[%d][%d] => %#p\n",i,j,&a[i][j]);
}

printf("================================\n");
printf("a=%#p,a+1=%#p,a+2=%#p\n", a, a+1, a+2);
printf("a[0]=%#p,a[1]=%#p,a[2]=%#p\n", a, a[1], a[2]);
printf("&a[0]=%#p,&a[1]=%#p,&a[2]=%#p\n", &a, &a[1], &a[2]);
printf("&a[0]+0=%#p,&a[0]+1=%#p,&a[0]+2=%#p,&a[0]+3=%#p\n",&a[0]+0,&a[0]+1,&a[0]+2,&a[0]+3);
printf("================================\n");
printf("a[0]=%#p,a[0]+1=%#p,a[0]+2=%#p,a[0]+3=%#p\n", a[0], a[0]+1, a[0]+2,a[0]+3);
printf("&a[0][0]=%#p,&a[0][1]=%#p,&a[0][2]=%#p,&a[0][3]=%#p\n", &a[0][0], &a[0][1], &a[0][2], &a[0][3]);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言