| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 857 人关注过本帖
标题:数组和指针
只看楼主 加入收藏
heqinwu8
Rank: 2
来 自:黄土高坡
等 级:论坛游民
帖 子:65
专家分:58
注 册:2009-7-11
结帖率:100%
  问题点数:0  回复次数:5   
数组和指针
程序代码:
#include<iostream.h>
char *GetMemory1()
{
    char *p="hello world";
    return p;
}

char *GetMemory2()
{
    char p[]="hello world";
    return p;
}
void main()
{
    char *str1 = NULL;
    char *str2 = NULL;
    str1 = GetMemory1();
    str2 = GetMemory2();
    cout<<str1<<endl<<str2<<endl;
}

为啥GetMemory2在返回时就成乱码了?
搜索更多相关主题的帖子: 指针 
2010-05-07 14:09
zgxxidian
Rank: 1
等 级:新手上路
帖 子:15
专家分:4
注 册:2009-8-30
  得分:0 
请问你这断代码是要实现什么目的?
2010-05-07 14:54
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
  得分:0 
第一个指向字串常量,指向内容恒定
第二个指向函数内的数组,但函数运行完毕,数组内容也随之消失,所以乱码

人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-05-07 15:17
heqinwu8
Rank: 2
来 自:黄土高坡
等 级:论坛游民
帖 子:65
专家分:58
注 册:2009-7-11
  得分:0 
以下是引用mywaylgh在2010-5-7 15:17:28的发言:

第一个指向字串常量,指向内容恒定
第二个指向函数内的数组,但函数运行完毕,数组内容也随之消失,所以乱码
貌似这个解释不怎么好啊,在GetMemory2()返回,赋值给str2时,值还是hello world的,然后cout后就乱码了,可以调试看看

戒烟真难啊,去楼顶抽个,没人发现
2010-05-07 18:16
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
  得分:0 
程序代码:
#include<iostream.h>
char *GetMemory1()
{
    char *p="hello world";
    return p;
}

char *GetMemory2()
{
    static char p[]="hello world";
    return p;
}
int main()
{
    char *str1 = NULL;
    char *str2 = NULL;
    str1 = GetMemory1();
    str2 = GetMemory2();
    cout<<str1<<endl<<str2<<endl;
    system ("pause>nul");
    return 0;
}

同意三楼说法,学习了,加个static声明成静态的就可以

qq:413306776
qq讨论群:33505437
2010-05-07 19:30
heqinwu8
Rank: 2
来 自:黄土高坡
等 级:论坛游民
帖 子:65
专家分:58
注 册:2009-7-11
  得分:0 
以下是引用瓦药墙在2010-5-7 19:30:31的发言:

 
#include
char *GetMemory1()
{
    char *p="hello world";
    return p;
}
 
char *GetMemory2()
{
    static char p[]="hello world";
    return p;
}
int main()
{
    char *str1 = NULL;
    char *str2 = NULL;
    str1 = GetMemory1();
    str2 = GetMemory2();
    cout<
可以正确显示了,谢谢瓦药强和三楼的回答,不胜感激- -

[ 本帖最后由 heqinwu8 于 2010-5-7 20:37 编辑 ]

戒烟真难啊,去楼顶抽个,没人发现
2010-05-07 20:35
快速回复:数组和指针
数据加载中...
 
   



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

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