c/c++ 字符数组、字符指针和字符串类型总结帖
2017-12-18 11:46
585 查看
一、字符数组
C++中字符数组用char str[]可以用来表示一个字符串。
(1) 数组的大小和字符串的长度。
数组的大小一定要大于字符串的长度,因为系统会自动补上一个’\0’作为字符串的结束标志。当然对于未初始化的也补’\0’.
二、字符指针
说到底,str是一个字符指针,这句仅仅是将“hello world!”的第一个字符的地址赋予str。
数据类型是字符指针(str)的,则从所指地方开始输出直到’\0’结束,数据类型是字符的(*str)则只输出单个字符。
char* c和char c[]的区别在于前者是变量,后者是常量。
三、c++提供的标准库string
C++之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用= 进行赋值操作,== 进行比较,+ 做串联。我们尽可以把它看成是C++的基本数据类型。
首先,为了在我们的程序中使用string类型,我们必须包含头文件。如下:
详解:
http://blog.csdn.net/twphoenix/article/details/50628457
http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html
C++中字符数组用char str[]可以用来表示一个字符串。
(1) 数组的大小和字符串的长度。
数组的大小一定要大于字符串的长度,因为系统会自动补上一个’\0’作为字符串的结束标志。当然对于未初始化的也补’\0’.
#include <iostream> #include <string> using namespace std; int main() { char str[11] = "I am happy"; // 系统会自动补上'\0'空字符作为结束标志,,未有初始化的也补'\0' //char str[10] = "I am happy"; // 出错 系统自动补上'\0' 此时字符数组长度不够 //char str[13] = "I am happy"; // 后面未有初始化的也补上'\0' 为 I am happy\0\0\0 if(str[10] == '\0') { cout << "hello world!!" << endl; } cin >> str; // 输入输出 cout << str << endl; return 0; }
二、字符指针
char *str="hello world!";
说到底,str是一个字符指针,这句仅仅是将“hello world!”的第一个字符的地址赋予str。
cout<<*(str+4)<<endl;//这句输出的是 o cout<<*str<<endl;//这句输出 h cout<<str<<endl;//这句输出hello world!
数据类型是字符指针(str)的,则从所指地方开始输出直到’\0’结束,数据类型是字符的(*str)则只输出单个字符。
char* c和char c[]的区别在于前者是变量,后者是常量。
三、c++提供的标准库string
C++之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用= 进行赋值操作,== 进行比较,+ 做串联。我们尽可以把它看成是C++的基本数据类型。
首先,为了在我们的程序中使用string类型,我们必须包含头文件。如下:
#include <string>//注意这里不是string.h string.h是C字符串头文件
详解:
http://blog.csdn.net/twphoenix/article/details/50628457
http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html
相关文章推荐
- c/c++ 字符数组、字符指针和字符串类型总结帖
- c/c++ 字符数组、字符指针和字符串类型
- C/C++(字符串处理)字符指针、字符数组用法大总结
- C/C++(字符串处理)字符指针、字符数组用法大总结
- 关于C中字符数组,字符指针以及C++中string类型的两两转换及排序
- 指针数组和字符类型的二维数组在处理字符串时的区别
- C/C++——声明一个到字符的指针,包含10个整数的数组,到包含10个整数的数组的引用,到字符串的数组的指针,到字符的指针的指针...
- 数组与字符串、字符指针与其他类型指针、赋值参数、指针参数以及引用参数、函数指针
- 字符串的存储方式,以及sizeof()(字符数组,字符指针,Sizeof总结)
- 关于字符串类型与字符数组(指针)
- 一道二级C题引发的思考-- c++函数传递指针的本质 与 字符串指针与字符数组的区别
- C/C++字符串,字符数组,字符指针及其相互静态拷贝与追加的安全问题解决方案(2)
- C++指针和数组:字符和字符串、字符数组
- 字符数组与字符串,字符数组与字符指针(总结大全)
- C/C++基础知识总结——数组、指针域、字符串
- C/C++的一些关于字符数组和指针的小总结
- C++ 字符数组和字符指针和字符串
- C/C++字符串,字符数组,字符指针及其相互静态拷贝与追加的安全问题解决方案(1)
- (总结)C++与java比较教程--7.2 C++中声明指针类型和指针数组(待补充)
- 浅谈C++字符数组与字符串指针