C string 字符串可以用字符串数组 char Array[MAX_SIZE];与字符串变量 char *p; 两种方式来存储,以‘\0’为结束标志
char aa[]="jklllkkkjijijiji";
char *bb="abcdefg\0";
而sizeof是在对字符数组和字符变量的操作结果不一样,引起原理不一样。其中sizeof()数组的话得到的是数组中的元素个数,包括'\0';而sizeof()char *p得到的是指针本身所占用的字节数,与指向的内容无关;
strlen 是不把串结束符 '\0'算在内的,计算的是字符的个数,即字符串的长度;(这个很多博客写的和我实际操作的不一样,这里是按我实际操作的结果来的)
c中的char* 定义字符串,不能改变字符串内的字符的内容,但却可以把另外一个字符串赋给它
C++中使用char*定义字符串,同样不能改变字符串内的字符的内容,但却可以把另外一个字符串赋给它
C++中string的定义字符串,同样不能改变字符串内的字符,但却可以把另外一个字符串赋给它