| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 602 人关注过本帖
标题:字符数组与指针的一个疑惑?求解!
只看楼主 加入收藏
cheenbee
Rank: 2
等 级:论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:2 
字符数组与指针的一个疑惑?求解!
#include<stdio.h>
int main(){
    char *string;
    string="I love China!";
    printf("%s\n%d\n",string,sizeof(string));

    return 0;
}

第四行代码是把"I love China!"中的第一个字符地址赋给指针变量string   可是我不明白这行代码的原理是什么,不应该取址才能得到一个变量的地址吗?新手求解!
搜索更多相关主题的帖子: return China 
2011-11-17 20:36
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:3 
这个是字符串和指针的问题,书上找相关的章节看看就知道了

I love China!  这个是一个字符串常量。在内存中存放的时候是有内存地址的,而把这个常量的第一个元素的地址赋给了string这个指针变量。而在输出时,系统先输出它所指向的一个字符数据,然后自动加1,指向下一个字符,就继续输出。

这个是由c语言标准规定的。

[ 本帖最后由 luchar 于 2011-11-17 21:02 编辑 ]
2011-11-17 20:46
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:3 
常量字符串也有存放空间啊,那就有了地址了!

★★★★★为人民服务★★★★★
2011-11-17 20:47
快速回复:字符数组与指针的一个疑惑?求解!
数据加载中...
 
   



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

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