admin 管理员组文章数量: 887019
2023年12月24日发(作者:悬浮分享按钮样式)
在开发工业以太网项目的时候经常遇到一些小细节问题,在建立数据报进行传输的过程中传递txbuf缓冲区的地址的时候就遇到类似下面的问题。
一.简单说明1
定义一个2X3的int型的二维数组int array[2][3];并且给这个二维数组赋值1,2,3,4,5,6;
array[0][0]=1
array[0][1]=2
array[0][2]=3
array[1][0]=4
array[1][1]=5
array[1][2]=6
输出结果
1 2 3
4 5 6
array[0]表示第一行的首地址,也就是第一行第一个数的地址,也就是&array[0][0]
So array[0]==&array[0][0];其实&array[0]还==array[0]==&array[0][0],都表示第一行的首地址。
array[1]是第二行的首地址,也就是第二行第一个数的地址,也就是&array[1][0]
so array[1]=&array[1][0];试试&array[1]还==array[1]==&array[1][0]
定义一个指针变量int *p;将第一行的首地址赋给p有3种方式。
1. p=array[0];
2. p=&array[0];
3. p=&array[0][0];
p[0]就等同于array[0][0],也就是p[0]==1;(为了形象记忆,可以用替换的角度去记忆和理解。因为之前说过p=array[0], so,
p[0]就把p换成array[0]再加上[0]就是arary[0][0])
p[1]等于array[0][1]等于2
p[2]等于array[0][2]等于3
同理,将第二行的首地址赋给p也有三种方式:
3. p=array[1];
4. p=&array[1];
5. p=&array[1][0];
p[0]等于array[1][0]等于4
p[1]等于array[1][1]等于5
p[2]等于array[1][2]等于6
版权声明:本文标题:关于二维数组地址和指针之间的赋值 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703377043h448689.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论