C语言中的字符串是一种特殊的字符数组
特殊在必须是以’\0’作为结束标记
如果某个字符数组中没有\0,那么这个字符数组就不能称为"字符串",
除C语言之外都没有其他语言采取这种设计.
例如:
char str[]=“hehe”;
其中
字符串长度为4(不计算\0)
数组的元素个数为5(计算\0)
数组作为函数参数时,会隐式转为指针类型.
C语言数组(C++,java,go)
数组是批量创建一组相同类型的变量
int arr[3]={1,2,3} 初始化
int arr[3] 未初始化
未初始化内部的值再VS里是VS自动填充的无意义的数据
在linux里是栈空间上的残留值
重点知识
在C/C++中,针对数组下标操作,千万不能越界
一旦越界,会产生"未定义行为"
"未定义行为"运行结果不可预期
可能程序读出一个"正确"的值;也可能是一个错误的值;
也可能直接崩溃或死机
有"未定义行为"一定是个bug