| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 558 人关注过本帖
标题:字符串常量在内存中的存储++求高手解答
只看楼主 加入收藏
Lgothic
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2011-11-5
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
字符串常量在内存中的存储++求高手解答
#include<stdio.h>
#include<string.h>
#include<conio.h>
int main()
{
    char *a="ab";
    char *b="ab";
   
    printf("%p  %p",a,b);

    _getch();
    return 0;
}
输出为:
00865744  00865744


1,a和b的值是一样的,是不是可以说a的“ab”和b的“ab”是同一个?
2,如果一样的话那么int a=8;int b=8; 中的两个8也是同一个吗?
求高手解答... (我是用vs2010编译的!!!)


搜索更多相关主题的帖子: 内存 include return 字符串 
2011-11-16 14:41
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
收藏
得分:5 
   第一个肯定是一样的,a和b是指针,指向的内容相同,地址一样,都是ab、
   第二个 不是,8是给a b初始化的,在内存中分配空间,
2011-11-16 14:56
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:5 
char *a = "ab";  字符串"ab"存放在常量区, 指针a在栈上,a的值等于字符串"ab"放在内存里的地址。
而char a[] = "ab"; 把字符串拷贝到数组a里 数组a是在栈上

总有那身价贱的人给作业贴回复完整的代码
2011-11-16 18:04
快速回复:字符串常量在内存中的存储++求高手解答
数据加载中...
 
   



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

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