搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 学习了两个月的指针了,对于指针数组的问题还是有疑问求助!
标题:
学习了两个月的指针了,对于指针数组的问题还是有疑问求助!
只看楼主
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
21
楼
得分:0
回复 10楼 弟大勿勃
a[i] 等同于 *(a+i)
2016-08-04 21:41
弟大勿勃
等 级:
论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
第
22
楼
得分:0
回复 19楼 吹水佬
指针数组和数组的确有很大的联系,指针数组能节省内存?!但是它们的区别还是很大的吧,就数组来说,name是一个数组名,它表示&name[0][0],即name[0]。而对于指针数组来说,name同样是指针数组的首地址,但此时数组里面的元素都是指针了而非字符串(即数组里面的元素是字符串的指针),所以name是字符串指针的地址,什么是指针的地址呢?就相当于已经存在了一个指针用来指向一个字符串的首地址,此时再用一个指针来指向前面那个指针。*name就是对这个地址(指针)取值,所以*name对应的值实际是字符串的指针,即字符串的首地址name[]。
不知道我说和版主想传达的意思方向一致不?如果大家有更好的理解方法还请讲出来一起加深一下对指针数组的理解!
2016-08-04 21:47
弟大勿勃
等 级:
论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
第
23
楼
得分:0
回复 21楼 rjsp
您说的是它俩的地址相同对吧?
2016-08-04 21:57
弟大勿勃
等 级:
论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
第
24
楼
得分:0
回复 21楼 rjsp
说到底print输出结果是系统根据所对应的地址来显示出相应的值对吗?
2016-08-04 22:11
平常心q
等 级:
黑侠
威 望:
7
帖 子:120
专家分:550
注 册:2016-3-31
第
25
楼
得分:2
name[0]也即* (name+0), 存放的是 "Jan" 首字符的地址;
name[1]也即* (name+1), 存放的是 "Feb" 首字符的地址;
.....
以此类推
2016-08-04 22:32
弟大勿勃
等 级:
论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
第
26
楼
得分:0
回复 25楼 平常心q
那对于简单的整数变量a来说,int a=3;
printf("%d",a);
对于这个printf里的a的理解是不是说系统检查到的只是a的地址
然后再根据a的地址打印出相应的值3。其实a的取值应该是一个地址,
而计算机经过寻址后找到了3这个数字?
2016-08-04 22:54
FQYB
等 级:
论坛游侠
威 望:
1
帖 子:43
专家分:130
注 册:2016-7-29
第
27
楼
得分:2
大概想了一下,不知道按照我的理解回答得正不正确
引用一个数组是把数组第一个元素地址取出来,可以看做对指针进行操作,反过来对一个指向数组的指针操作,也可以用操作数组(下标法)的方法来用,XXX[X]这样就代表数组的某个元素 既然你是字符串指针数组 那么XXX[X]就是数组里某个字符串的首地址
XXX[X] 相当于 XXX数组的首地址+ X * size size为数组元素长度
[此贴子已经被作者于2016-8-5 22:50编辑过]
2016-08-05 22:46
砖家的谎言
等 级:
禁止访问
威 望:
30
帖 子:693
专家分:3898
注 册:2013-12-6
第
28
楼
得分:2
可以看看我的群文件中放的资料
我不是砖家,要努力成为砖家。
2016-08-06 09:51
陆苗
等 级:
论坛游民
帖 子:52
专家分:39
注 册:2016-5-31
第
29
楼
得分:2
回复 26楼 弟大勿勃
有道理
------虚心学习,不懂就问
2016-08-06 13:53
29
3/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-467538-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.286195 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved