| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1042 人关注过本帖
标题:请教一个字符指针的问题
只看楼主 加入收藏
allen802
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-8-5
收藏
 问题点数:0 回复次数:10 
请教一个字符指针的问题
char *p="I love China!";
cout << p << endl;

输出的p为何不是地址,而是"I love China!"?
搜索更多相关主题的帖子: 指针 字符 
2009-10-15 09:46
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
cout是会把p指向的地址的地方输出内容。直至遇到空字符。
2009-10-15 09:52
allen802
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-8-5
收藏
得分:0 
什么情况下指针会是这样呢?为什么别的都是输出地址?难道字符指针这里是硬性规定?
2009-10-15 12:51
哥特复兴
Rank: 2
来 自:China-上海
等 级:论坛游民
帖 子:20
专家分:64
注 册:2009-6-23
收藏
得分:0 
楼主需要注意一下,字符串和数子是有区别的,每一个字符都会占用一个内存的地址,你的这种写法就是完全错误的.
我用了包含字符串的头文件,如果不用的话,实现起来比较麻烦,需要用到for循环,把每个字符的地址输出;
代码如下:
#include<iostream>
#include<string>      //字符串头件
using namespace std;
void main()
{
    string p="I love China!";  //定义的其实是一个字符串函数
    string *c;
    c=&p;
    cout<<c;
}
单纯的数子可以用你的那种写法,注意:数子和字符是有本质区别的;
#include<iostream>
using namespace std;
void main()
{
    int p=8;
    int *c;
    c=&p;
    cout<<c<<endl;;
}
2009-10-15 14:28
哥特复兴
Rank: 2
来 自:China-上海
等 级:论坛游民
帖 子:20
专家分:64
注 册:2009-6-23
收藏
得分:0 
  c++编程语言是逻辑性很强也是要求很严谨的一门编程语言,我们要用它实现每一项功能的话都需要必要多的代码,否则就会出错,甚至出现我们意想不到的结果,造成我们对某种技术的误解,所以希望楼主以后写代码的时候尽量写的完整,这是一种很好的习惯.
  我也是初学者,希望大家一起进步......
  "魔鬼训练中……"
2009-10-15 14:40
guang142030
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-10-15
收藏
得分:0 
好受益!!!
2009-10-15 17:53
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
收藏
得分:0 
想要知道P的地址,你可以用取地址运算符“&”, 如果你想知道指针所指的的字符可以cout<<*p<<endl;,如果你想输出指针所指的const char (即"I Lova China")字符串,可以cout<<p<<endl;楼主你对指针不太了解
2009-10-17 08:56
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
int *c;  
c=&p;

迭代的是人,递归的是神。
2009-10-17 15:45
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
int *c = &p;//这样写不会更好么?
 

迭代的是人,递归的是神。
2009-10-17 15:46
loookc
Rank: 2
等 级:论坛游民
帖 子:24
专家分:11
注 册:2009-10-15
收藏
得分:0 
受益
2009-10-20 13:17
快速回复:请教一个字符指针的问题
数据加载中...
 
   



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

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