1)字符数组初始化时没有使用 '\0'
先定义的变量存放在内存高地址,后面定义变量放在内存低地址
用字符串方式赋值比用字符逐个赋值要多占一个字节, 用于存放字符串结束标志'\0'。
char ch[] = {'a','b','c','\0'};
char ch2[]= {"abc"};
关于字符串长度,如果在定义的没有规定字符串数组长度,则看元素个数,若规定了,则数组长度则是字符串长度.
//----------------------字符串长度计算方法
以“\0”为字符串结束条件进行统计
1)不知道数组长度的时候,计算字符串的长度
2)已知数组长度,但是不知道数组中实际存放了多少个字符
while实现strlen();
while(ch[i-1] != '\0')
abc\0cde
sizeof计算字符串长度-->char ch[] = "abab/0bbc"以内的所有字符长度 9
注意初始化定义的字符串数组的长度 char[10] = "abc" 10
strlen计算字符串长度--> \0前的所有字符长度
char[10] = "abc" 3
不包含 \0
|
|