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

C语言学习历程(十一)二维数组与指针的关系

2017-12-02 20:56 281 查看
下面是一个关于二维数组与指针之间,地址和值的运算输出:

*#include <*stdio.h>

{

int a[3][3]={{1,2,3},{3,4,5},{6,7,8}};

int i=0;

int j=0;

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

printf(“%d\t”,((a+i)+j));

}

}

printf(“%0x,%0x\n”,a,a+1);

printf(“%0x,%0x\n”,a[0],a[0]+1);

printf(“%d,%d\n”,((a+0)+1),*a[0]+1);

printf(“%0x,%0x”,*(a+1)+1,a+1);

return 0;

}

printf(“\n”);



地址即指针!

a[i]=a+i=*(a+i)=&a[i]=&a[i][0];

上面这几个地址的值都是一样的,但是它们所对应的数据类型大小却不全一样; <
4000
br>
a[i]的数据类型大小为4个字节,即a【i】+1跳过4个字节大小;

同样,其他几个依次是:

a+i:12字节;

*(a+i):4字节;

&a【i】:12字节;

&a【i】【0】:4字节;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息