社区
C语言
帖子详情
求一C语言的问题
cc940921430
2011-08-30 09:51:49
设a为一个二维数组有三行四列,a[i]与*(a+i)等价吗? 书上说a[1]+2与*(a+1)+2等价不理解????
谢谢~~~~~
...全文
152
15
打赏
收藏
求一C语言的问题
设a为一个二维数组有三行四列,a[i]与*(a+i)等价吗? 书上说a[1]+2与*(a+1)+2等价不理解???? 谢谢~~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cc940921430
2011-09-08
打赏
举报
回复
谢谢haoxiangyoudianmingbaile
赵4老师
2011-08-31
打赏
举报
回复
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
指针即地址。“地址又是啥?”“只能从汇编语言和计算机组成原理的角度去解释了。”
提醒:
“学习用汇编语言写程序”
和
“VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习C和汇编的对应关系。”
不是一回事!
lhl414616
2011-08-31
打赏
举报
回复
等价的,数组名相当于指针*(a+1)相当是啊a[1],在他们外面加就相当改变列了
tony2278
2011-08-31
打赏
举报
回复
等价~
Sniper80KG
2011-08-31
打赏
举报
回复
等价,数组名就是数组首地址的指针
xxxxllll
2011-08-31
打赏
举报
回复
写法不同而已
RobbieWilliams
2011-08-31
打赏
举报
回复
显然相等了
w346581442
2011-08-31
打赏
举报
回复
[Quote=引用 5 楼 xingfu0539 的回复:]
从内存的角度来看就行了,a代表数组的首地址,a[1]代表第二行的首地址,注意此时对a直接增减都是以行为单位的,对a[i]进行增减都是按照元素大小为单位的(比如你所定义的char,int或者long型)。
[/Quote]这话是对的,但理解起来有点困难
xiaoshu101
2011-08-30
打赏
举报
回复
五楼正解
新加坡下雨了
2011-08-30
打赏
举报
回复
a[i]与*(a+i)等价,前者看着直观,后者是指针。a[1][2]=a[2*1+2]
a[1]+2与*(a+1)+2:前者a[1]的意思是第一行,+2是第2列的那个值,后者和前者一样
我是五道风
2011-08-30
打赏
举报
回复
从内存的角度来看就行了,a代表数组的首地址,a[1]代表第二行的首地址,注意此时对a直接增减都是以行为单位的,对a[i]进行增减都是按照元素大小为单位的(比如你所定义的char,int或者long型)。
仙度瑞城
2011-08-30
打赏
举报
回复
假设你的这个二维数组是 a[3][4]
a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]
a[i]是第i行的首地址..加个数字就是往后偏移..
a相当于一个二级指针...*(a+1)得到第一行的首地址..
尘缘udbwcso
2011-08-30
打赏
举报
回复
AnYidan
2011-08-30
打赏
举报
回复
画个图就明白了
tianxiao1101
2011-08-30
打赏
举报
回复
等价。。。a[1]+2与*(a+1)+2 它俩均指向 a[1][2]
C语言
--视频精讲
C语言
作为被长期使用的编程语言,可以被运用到各种操作系统,游戏,开发中。本课程作为互联网上首家使用C99录制的
C语言
教程,展现了全面、专业。...可以帮助学员从基础开始一点点的深刻理解
C语言
。
使用
c语言
求一
元二次方程的根
使用
c语言
求一
元二次方程的根
【
C语言
】求素数的三种方案
【
C语言
】求素数的三种方法
求因子
c语言
,
C语言
-求因子和
求因子和题目描述:一个数的因子和不包括它本身的所有因子之和,如12的因子有1、2、3、4、6所以12的因子和是16。现在给定一个数n(n<=10^9),求它的因子和。输入格式:一个数。输出格式:一个数。样例输入:12样例输出:16提示:60%的数据,n<=10,000;80%的数据,n<=1,000,000;100%的数据,n<=1,000,000,000;这题第一次写的时...
c语言
求字符ascii,
C语言
中ASCII码是什么意思?
c语言
怎么求字符的ascii码
导航:网站首页 >
C语言
中ASCII码是什么意思?
c语言
怎么求字符的ascii码
C语言
中ASCII码是什么意思?
c语言
怎么求字符的ascii码相关
问题
:匿名网友:是一个字符表,一个字节的范围是0-255,每个数可以表示一个字符。计算机都是以1,0编码的,可以先取得二进制对应的10进制,再解析为对应的字符。但128-255基本上没有被定义,用于以后扩展。例如;字符'a',的ASCII是97...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章