标题:求教a和a[0]的具体区别
取消只看楼主
冬天之火
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-3-1
结帖率:100%
已结贴  问题点数:20 回复次数:5 
求教a和a[0]的具体区别
#include<stdio.h>

int main(){
    char a[50]="hello world.";
    char *p=a;
    printf("%s\n",p);
    return 0;
}

为什么用printf("%s\n",*p);不行啊,a和a[0]地址不是相同吗?希望能够答具体透彻一点。多谢!
搜索更多相关主题的帖子: return hello world 
2016-03-01 15:03
冬天之火
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-3-1
得分:0 
回复 3楼 qq1023569223
首先非常感谢,但最重要的是a和a[0]地址相同啊,你还是没能解释透彻啊,如果光是背的话,很容易的。。分分钟我们都可以把它们背出来。
2016-03-01 17:27
冬天之火
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-3-1
得分:0 
继续等待高手回帖中。。。无语问苍天。
2016-03-01 22:17
冬天之火
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-3-1
得分:0 
可能是我要求太高了,曾经有个老师说我太执著了,我试图着改变,但是,我真的想找到一个我认为满意的答案。
2016-03-02 23:02
冬天之火
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-3-1
得分:0 
回复 10楼 冬天之火
但还是非常感谢各位大神的热心帮助。
2016-03-02 23:08
冬天之火
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-3-1
得分:0 
看来我只能把我昨天晚上自己的推论说一下了,我不太喜欢比喻,虽然比喻很详细,但也会让事实失真。
     其实我认为做为一个程序员每当我们遇到一个“结构”,那么我们便需要有一定的好奇心去探索它具体是怎么写出来的。
     在我的推测中是这样的,就像浙大翁凯老师说过的一句话,[]是一个运算符,那么既然是一个运算符,那么它肯定有其自己的定义,或许让我写一个对数组的操作的时候,我也会定义一个类似[]的运算符。而因为a是个int型的数组,那么我们在用[]这个运算符的时候,我们就定义一个int型变量,至于为什么会知道定义一个int,我想a兄肯定早就被记在“小本子”上了。从[]中的数字计算得到地址然后,从地址开始到写满这个int型变量便停止。这样似乎能解释我这个问题,至于具体是不是这样,这还得请高手们出来评价。见笑了。。
     诶房子,房子,我的老师也是这么比喻的。。
2016-03-03 20:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462051-1-1.html




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

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