C_一维数组
数组的创建(初始化)
1、char arr1[] = "lsm";
以这种方式创建的数组,在内存中会自动在最后为其赋上‘\0’为结束标志,使用 sizefo()操作符 打印出来的值为 4,使用strlen()函数 打印出来的值为 3
2、char arr2[] = {'l','s','m','z','z'};
而这种方式创建的数组,它的字符串长度是随机值,因为系统不会为其自动添加'\0'作为结束符。
char arr2[] = {'l','s','m','z','z','\0'};
此时使用sizefo()操作符 打印出来的字符串长度为 6,使用strlen()函数 打印出来的值为 5
###补充:
sizeof()与strlen()的区别在于,前者是 操作符,后者是 函数;
sizeof()用于获取某数组在内存中开辟的空间大小,例如'\0'在内存中也占一个空间,通常是由编译器赋予的;
strlen()用于获取某数组的长度,是用户或者程序员能在输出框中能直观看到的元素的个数。