随笔:11 文章:3 评论:24 引用:0
麦子c++
C++博客
首页
发新随笔
发新文章
联系
聚合
管理
c++中char str[]与char* str的区别
今天在做一个练习时突然被char str[]和char* str给迷住了,研究了半天才搞定
在c++中对char类型做了特殊处理,原因是兼容c语言
eg:
char str[]="abc\0def";
这里的str是一个地址,c++在运行时会自动将str的地址从str[0]一直移动到“\0”;然后输出结果。\\abd\0
char* str这个是一个野指针,千万别这样使用,在类中除外。
小练习
#include
<
iostream
>
using
namespace
std;
class
Book
{
private
:
char
*
str;
public
:
Book(
char
str[]);
void
show();
}
;
Book::Book(
char
str[])
{
this
->
str
=
str;
}
;
void
Book::show()
{
cout
<<
this
->
str
<<
endl;
}
int
main()
{
Book b(
"
abc\0def
"
);
b
->
show();
}
最后一行写错了,应当是b.show();
发表于 2011-07-11 01:54
小麦
阅读(2658)
评论(3)
编辑
收藏
引用
评论
#
re: c++中char str[]与char* str的区别
字符串的处理方式是由函数来决定的而不是由字符串本身决定的,不管你是char*还是char[].
#
re: c++中char str[]与char* str的区别
恩,都一样的,其实都只是个地址而已
#
re: c++中char str[]与char* str的区别
同上
如果你自己尝试实现以下strcpy之类的C字符串API你更加深刻理解了
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
CALENDER
<
2011年7月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2014年3月 (1)
2014年2月 (1)
2014年1月 (4)
2011年8月 (1)
2011年7月 (3)
2011年6月 (1)
文章档案
2014年2月 (1)
2013年7月 (1)
2011年6月 (1)
搜索
最新评论
1. re: 做程序员不如卖核桃,开店一月单日销售额超3万[未登录]
无形的宣传
--春秋十二月
2. re: PHP程序员的苦逼转型
楼主能拉到2000名股东,真了不起!
总觉得程序员的社交圈子太小了
--flame
3. re: PHP程序员的苦逼转型[未登录]
支持你!坚持下去,您能成功!
--Martin
4. re: PHP程序员的苦逼转型[未登录]
真心感谢大家,欢迎订购!^_^
--小麦
5. re: PHP程序员的苦逼转型
加油,
--anyone
阅读排行榜
1. PHP程序员的苦逼转型(4723)
2. 统计字符串中每个字符出现的次数(3435)
3. c++中char str[]与char* str的区别(2658)
4. c++小时钟(1837)
5. 小麦创业记-2014-1-5(1700)
评论排行榜
1. PHP程序员的苦逼转型(15)
2. c++中char str[]与char* str的区别(3)
3. c++小时钟(2)
4. 小麦创业记-2014-1-5(2)
5. c++处女类(1)
Powered By:
博客园
模板提供
:
沪江博客