NULL,'\0',0,'0',' '区别

来源:互联网 发布:长沙黑马程序员地址 编辑:程序博客网 时间:2024/04/29 20:38
1.在数值上NULL,'\0',0是一样的,都是0,但'0'不同,在ASCII码中编码为482.在内存中NULL 和'\0' 和'0'都是一个8位的char类型,NULL 和'\0' 值一样,都是0,以数字方式读取就是0,以字符串读取时就是'\0'或者null(和编译器有关),而‘0’在内存存储着48,以字符读取就是'0',以数字读取就是48,至于0,可能是char ,int ,float,double等类型,但是值和NULL和'\0'一样,都是03.'\0'为字符串结束符,' '为空格,存入数组时,空格作为一个字符占有一个字节的空间,可以把它看着一个字符去处理而'\0'则是这个字符串的结束标识符,也占有一个字节的空间,表示字符串结束附:如果用scanf来接收字符串的话,字符串中不能含有空格,否则将以空格作为串的结束符例:如果你键入得是hello world 那么实际上scanf只能获取hello 这个单词要接收空格的话可以用gets()这个函数,gets(str)是读入一串以回车结束的字符,顺序存入到以str为首地址的内存单元中,最后写入字符串结束标志'\0'同样在输出字符串时要用puts(),输出时直到遇到 \0 为止,最后输出一个换行符 详细介绍