| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 960 人关注过本帖, 1 人收藏
标题:请教关于指针数组的问题~~~
只看楼主 加入收藏
我终于结婚了
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-6-23
收藏(1)
 问题点数:0 回复次数:5 
请教关于指针数组的问题~~~

main(int argc,char *argv[])

{

while(argc>1)

{++argv;

printf("%s\n",*argv); 处为何不是argv???输出字符串时可以用指向字符串的指针变量阿,该怎么理解呢?望高手指明,thanks !)

--argc;

}

}

搜索更多相关主题的帖子: 指针 
2004-06-23 19:50
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
得分:0 

首先你要明白*argv是一个char型的指针数组,也就是说argv[]每个数据成员都是char *

那么现在我们来看看*argv和argv的区别

argv这里存放的是地址(int型)如果是printf("%s\n",argv);那么他输出的是int型的指针

但是,程序将他强制转化为char型,结果输出的将是乱码,

如果改成printf("%d\n",*argv)这样就会输出argv所指向的地址

printf("%s\n",*argv);就好解释了,输出argv指向的地址里的内容

[此贴子已经被作者于2004-06-23 23:26:57编辑过]


偶是一只想要飞却忘了咋飞的菜鸟
2004-06-23 23:25
我终于结婚了
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-6-23
收藏
得分:0 

Thanks,sir

可以这样认为吗?argv是指针数组的地址,而*argv是指针元素指向数据的地址~~

2004-06-25 08:04
treegrass
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-6-23
收藏
得分:0 
同意.YES
2004-06-25 16:33
xinwu
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2004-6-19
收藏
得分:0 
argv 是地址,而*argv 是变量

我永远相信数目,逻辑能带来理由!
2004-06-25 16:59
当当
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2004-4-30
收藏
得分:0 

"可以这样认为吗?argv是指针数组的地址,而*argv是指针元素指向数据的地址~~"

argv是指针数组的首地址,元素地址应该是argv+i来表示,

*argv是首地址中保存的值,

*(argv+i)则是元素地址中保存的值.

[此贴子已经被作者于2004-06-25 22:22:14编辑过]


学好编程就能编出自己的未来! 加油!自信!努力!奋斗!
2004-06-25 22:20
快速回复:请教关于指针数组的问题~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036156 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved