- C/C++中规定字符串必须以‘\0’(ASCII码值为0)结尾
字符数组
char str1[] = {'h','e','l','l','o'};
char str2[] = {'h','e','l','l','o',0};
char str3[] = "hello";
str3 = "hello2";
const str4[] = "hello";
- str1,str2,str3和str4都是字符数组,数组大小在编译时确定
- 字符数组在初始化后不能再改变大小及数组位置(not assignable)
- str2与str3等价,str1的写法作为字符串有问题
- str4被const修饰,str4数组的内容不能被修改
字符指针
- 指向字符串字面量,字符串字面量存储在全局变量的只读区,不能被修改
- 指向字符数组
char cArr[] = "hello";
char* str1 = "hello";
str1 = cArr;
const char* str2 = "hello";
char const *str2 = "hello";
str2 = cArr;
char* const str3 = cArr;
const char* const str4 = "hello";