数组中关于0的问题
前⾔
基础还不扎实,很多地⽅⽐较模糊,记录学习,可能会持续更新~
正⽂
⼀、区分 '\0', '0', "0", 0
' \0' 代表⼀个转义字符,它对应的ASCII编码值是0,是判定字符数组结束的标识,表⽰这串字符到结尾了,本质上就是0 '0' 代表字符0 ,对应ASCII码值为0x30 (也就是⼗进制 48)
“0'' 代表⼀个字符串,字符串中含有 2个字符,分别是 '0' 和 '\0'
0 代表数字0,若把数字0赋值给某个字符,对应ASCII码值为0
⼆、数组中的'\0'
对于字符串后⾯是否要加⼊'\0'有⼏种情况。
1.char str[10] = “Hello”;
字符串转数组编码方式此时我们只给str数组前5个元素赋值,剩余5个元素系统将会⾃动赋值为’\0’,当赋值个数会⼩于数组长度时系统都会⾃动添加’\0’.
2.char str[5] = {‘h’,‘e’,‘l’,‘l’,‘o’};
此时str的长度刚好==字符串长度,此时系统将不会⾃动添加’\0’,如果数组长度⼤于字符串长度则会⾃动添加’\0’.
3.char str[] = {‘H’,‘e’,‘l’,‘l’,‘o’};
⽤此⽅法定义并初始化⼀个数组系统不会⾃动添加’\0’.
4.char str[] = "hello";
系统会⾃动在后⾯添加‘\0’(对⽐⼀下3)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论