C语言字符串类型为char *或char []
两者本质上是一样的
例如:
char *x="abc";
x指向'a'
x+1指向'b'
x+2指向'c'
x+3指向'\0'
C语言在输出x时
从x指向的内容开始输出,一直到'\0'为止
用char *定义x,会自动在末尾加上'\0'
但用char []定义x,可能末尾没有'\0'
如:
char x[3]={'a','b','c'};
此时系统输出x+2指向的'c'后
x+3不一定指向'\0'
系统将会继续输出
直到发现'\0'为止
所以C语言用字符串一定要特别小心
有可能是因为没遇到字符串结束符