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

来源:互联网 发布:大数据工程师医疗 编辑:程序博客网 时间:2024/06/05 11:45

      之前自己写了一篇名为关于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;
}

原创粉丝点击