字符串和转义字符
“hello\n"
这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。
此处可以不定义数组大小,内存会自动分配合适的大小。
arr1[]和arr[]2看起来似乎是一样的,但实则不然
那么为什么会出现这种情况?原因就在转义字符。我们可以对程序进行调试,对arr1[]和arr2[]数据进行监视
我们发现arr[]1中有转义字符\0,它标志着字符串的结束,而arr2[]中却没有转义字符\0,但是字符串必须要遇到\0才会结束,它就会在内存中往下读直到遇到\0才会结束
字符串函数使用
strlen是求字符串长度的一个函数,即string length。使用时需要调用头文件string.h
arr1中转义字符不算长度,所以长度应该为6
arr2中没有转义字符,它会在内存中往前读到一个有\0的位置,所以大小为随机值