| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 896 人关注过本帖
标题:看看这是怎么回事,
取消只看楼主 加入收藏
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
结帖率:50%
收藏
 问题点数:0 回复次数:15 
看看这是怎么回事,
程序代码:
    #include <stdio.h>
    int main()
    {
        char a[5];
       
        char *p = a;
        p = "hell";
        ////a = "hfhe";
        puts(p);
        puts("");
        puts(a);
       
        return 0;
    }
2013-01-05 10:23
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
加不上图片呢,咋滴
2013-01-05 10:25
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
输出的puts(p)和puts(a)不一致
2013-01-05 10:26
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
大神解答
2013-01-05 10:26
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
一定得上去
2013-01-05 10:29
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
我去,,,不管了,帮忙看看题。四楼说明了
2013-01-05 10:30
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
以下是引用yaobao在2013-1-5 10:29:43的发言:

 #include  
    int main()
    {
        char a[5]={'d','f','g','h'};
      
        char *p = a;
        p = "hell";
        ////a = "hfhe";
        puts(p);
        puts("");
        puts(a);
      
        return 0;
    }你这样在试试呢,看下结果,再自己分析下
这样肯定没问题了。我的意思是我不是吧数组a的首地址付给p了吗,为什么a 却得不到
2013-01-05 10:31
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
以下是引用sdhle在2013-1-5 10:31:40的发言:

这样肯定没问题了。我的意思是我不是吧数组a的首地址付给p了吗,为什么a 却得不到
字符串重新给p赋值了吗?但是字符型的指针p是指向单个字符的,如果我给它赋字符串会不会不安全
2013-01-05 10:35
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
明白了。非常感谢:
做一下总结:
   1、非定义时对一个字符指针直接用字符串赋值时。指针指向字符串的首地址;即重新赋值
   2、定义指针只指明指针类型尚未分配地址(指向不确定)。当用字符串赋值时。计算机会根据字符串的长度申请对应的字节数


2013-01-05 10:51
sdhle
Rank: 2
等 级:论坛游民
帖 子:27
专家分:10
注 册:2013-1-5
收藏
得分:0 
回复 13楼 yaobao
帮忙看看对不对,谢谢了
2013-01-05 11:02
快速回复:看看这是怎么回事,
数据加载中...
 
   



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

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