| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 558 人关注过本帖
标题:请教多级间访的指针的问题
只看楼主 加入收藏
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
请教多级间访的指针的问题
main()
{
    int i;
    char **p="I LOVE MY GIRLFRIEND!";
    printf("%s\n",p);
    for(i=0;i<10;p++,i++)
       printf("%c",*p);
      getch();
}
程序如上,p是两级间访的指针,p可以认为是字符串的首地址,但为什么*p就能读写每个字符呢?
请高手来看看

[ 本帖最后由 ggyy4k 于 2010-7-30 17:12 编辑 ]
搜索更多相关主题的帖子: 指针 
2010-07-30 17:10
kingsroot
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:284
专家分:1159
注 册:2010-3-28
收藏
得分:3 
你把一个char*类型的值赋值给一个char**类型的变量  编译器直接会报错的  难道你编译通过了?
2010-07-30 17:22
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
收藏
得分:0 
回复 2楼 kingsroot
是的,可以通过,也可以输出单个字符
2010-07-30 17:25
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:3 
我在VC里面测试了一下发现居然可以输出,实在太让我困惑了。
期待高手解释一下!
2010-07-30 18:05
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
收藏
得分:0 
期待高手来回答啊
2010-07-31 18:57
Rexfield
Rank: 6Rank: 6
来 自:幻想乡
等 级:侠之大者
威 望:1
帖 子:240
专家分:484
注 册:2010-7-28
收藏
得分:3 
gcc表示:
||=== test, Debug ===|
\test\main.c||In function 'main':|
\test\main.c|5|warning: initialization from incompatible pointer type|
\test\main.c|6|warning: format '%s' expects type 'char *', but argument 2 has type 'char **'|
\test\main.c|8|warning: format '%c' expects type 'int', but argument 2 has type 'char *'|
\test\main.c|9|warning: implicit declaration of function 'getch'|
||=== 已完成构建: 0 个错误, 4 个警告 ===|

If you're not failing every now and again, it's a sign you're not doing anything very innovative.
2010-07-31 19:39
快速回复:请教多级间访的指针的问题
数据加载中...
 
   



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

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