C语言字符串结束符'\0'详解及使用技巧
c语言输入字符串结束的标志?
C语言中字符串的结束标记是['']。
C语言中没有特殊的字符串变量,一般使用字符数组来存储字符串。
该字符串始终以['']结尾。
''是8位00000000。
由于字符类型中没有匹配的字符,所以这样写。
''是字符串结束标记。
''是翻译字符,意思是告诉编译器它不是字符0,而是空字符。
空字符对应的二进制值为00000000,数字0为00110000。
原来C语言中没有特殊的字符串变量。
字符数组是一般用来存储字符串。
字符串总是以''结尾。
因此,当字符串存储在数组中时,终止符''也存储在数组中,用于指示字符串是否结束。
使用''标志,就不需要使用字符数组的长度来确定字符串的长度。
说明:
将字符串赋值给数组:u8str1[]={"cxjr.21ic.org"};其实str1数组在内存中存储的实际情况是:cxjr.21ic.org''。
后面的''是C编译系统自动添加的,因此用字符串赋初始值时,通常不需要指定数组的长度,系统会自己处理。
将字符串从str1字符数组复制到str2字符数组。
字符串指示符''的末尾也被复制。
案例:
1.当表的长度不够时。
假设我们指定数组的长度,如:u8str1[13]={"cxjr.21ic.org"};由于字符组str1的长度为13,因此以下信息将丢失,即丢失。
2.当您给数组赋值时,将每个字符括在也失去了。
u8str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g'};如果您希望数组以''结尾,您可以编写以下三个之一:
u8str1[]={"cxjr.21ic.org"};//字符串赋值
u8str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g',''};//添加手动
u8str1[14]={'c','x','j','r','.','2','1','i','c','.','o','r','g'};//特意为数组预留空间
代码示例:
#include
#include
#include
\0什么意思?
'\0'是C语言中字符串的终止符。
C语言标准库中处理字符串时,每个字符串后面都会自动加上'\0。
'。
'\0'指的是ASCII码为0的字符,该字符为(Null),代表“字符串结束字符”,是表示字符串结束的标志。
字符串常量占用的内存字节数等于字符串的字节数加1。
添加的字节存储字符“\0”。
\0、'0'和“0”的区别:
1和\0表示ASCII码为0的空字符。
字符串结束符号。
2.‘0’代表ASCII码48中的字符,即数字0/。
3.“0”是字符串常量。
字符串常量是用双引号对括起来的字符序列。
例如:“中国”。