码迷,mamicode.com
首页 > 编程语言 > 详细

c++ --字符串

时间:2017-07-24 22:33:58      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:c/c++   size   ret   初始化   hello   and   char   c99   turn   

 

1. C/C++中每个字符串都以‘\0‘作为结尾,这样我们就能很方便找到字符串的最后结尾。

1 char str[10];
2 strcpy(str,"0123456789");   //错误:数组越界。"0123456789"的实际长度为11个字节

注意:谨记字符串末尾的空字符,防止数组越界。

2. C/C++把常量字符串放到单独的一个内存区域

  为了节省内存,C/C++把常量字符串单独放到单独的一个内存区域。当几个指针赋值给相同的常量字符串时,它们实际上会指向相同的内存地址。但用常量内存初始化数组,情况却有所不同。

 1 int main(int argc,char *argv[])
 2 {
 3     char str1[]="hello world";
 4     char str2[]="hello world";
 5 
 6     char *str3="hello world";
 7     char *str4="hello world";
 8 
 9     if(str1==str2)
10         cout<<"str1 and str2 are same\n";
11     else
12         cout<<"str1 and str2 are not same\n";
13 
14     if(str3==str4)
15         cout<<"str3 and str4 are same\m";
16     else
17         cout<<"str3 and str4 are not same\n";
18 
19     return 0;
20 }
21 //输出:
22 //str1 and str2 are not same
23 //str3 and str4 are same

 

c++ --字符串

标签:c/c++   size   ret   初始化   hello   and   char   c99   turn   

原文地址:http://www.cnblogs.com/cygalaxy/p/7231165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!