鱼C论坛

 找回密码
 立即注册
查看: 2802|回复: 4

[技术交流] C语言的数组真心头疼

[复制链接]
发表于 2012-8-3 21:57:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用指针指向二维数组看了好几天了,什么一阳指,拈花指,大力金钢指都学会了,就是不会用指针来指.郁闷:dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-3 22:04:48 | 显示全部楼层
谭浩强的书解释的不错 多看几遍就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-8-3 22:38:36 | 显示全部楼层
找不到啊,而且听说他的书有一些概念不准确.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-4 09:46:05 | 显示全部楼层
你真厉害啊,一阳指,拈花指,大力金钢指都会啊, 指针这东东确实需要多看看书才好懂的,推荐看这本《C.Primer.Plus(第五版)中文版》书。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-10 13:18:08 | 显示全部楼层
a[10][10]
&a== a的整个地址+1偏移siziof(a)
a==&a[0] a的行地址+1偏移一行,也就是到a[1][0]
*a==a[0]==&a[0][0] a的列地址,+1偏移一个单位,也就是a[0][1]
**a==a[0][0],最终取值,这个不解释
你想要表示a[5][6]的地址就是*(a+5)+6,取值就是*(*(a+5)+6)
a+5表示&a[5],*(a+5)就是到了第二层了,也就是&a[5][0],*(*(a+5)+6)就是取值了
你想用另外一个指针,就得(*p)[10],p=a;表示*p指向一个每行有10个元素的二维数组,用法跟a是一样的,如果你定义的是*p,然后p=a就和(*p)[10]不一样了,上面的是指向二维的,+1是加一行,下面的+1只能加一个单元。还有不懂再问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 12:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表