| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4373 人关注过本帖
标题:定义字符指针并初始化,指针变量所指向的字符串存在哪个地方呢?
取消只看楼主 加入收藏
good66
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-13
结帖率:0
收藏
 问题点数:0 回复次数:1 
定义字符指针并初始化,指针变量所指向的字符串存在哪个地方呢?
定义字符指针并初始化,指针变量所指向的字符串存在哪个地方呢?
char *p="the world",此时变量会在内存中占4个字节,可是“the workd”这个字符串存在哪里呢?
----------------------------------------------------
因为p是一个指针变量,它在内存中占4个字节,它指向的是字符串“the world”的首地址,
我不明白的是,这个字符串存在哪里呢?这个字符串的地址是什么呢?

我先用定义一个整型作为例子,问问二者的区别。
int a=10;
就是定义一个整型变量 a ,这个变量在内存中占用4个字节,而且存在的内容就是 10 本身。这个很好理解,但是定义字符指针就不同了。
内存中存的是指针。但是它所指向的内容存在哪里呢?

这个字符串如果也存在内存中, 那么它的地址是什么呢?
虽然初始化时,p指向这个字符串,但是p随时可以指向别的位置,那么“the world”这几个字符串就会成为孤点了。
搜索更多相关主题的帖子: 指针 变量 定义 字符 
2009-09-14 15:26
good66
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-13
收藏
得分:0 
以下是引用Devil_W在2009-9-14 15:45的发言:

char *p="the world"  =   const char *p="the world" 这里做了cast
 
printf("%d",p) ,错误, 应该用%p
没有明白您的意义,请再指教。
2009-09-14 16:06
快速回复:定义字符指针并初始化,指针变量所指向的字符串存在哪个地方呢?
数据加载中...
 
   



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

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