(C语言)不懂不懂,请高手阐释nul,null,eof,\n,\r......最好有实例

如题所述

nul 和 null要看编译器,不同的编译器有所区别。
一般而言 null(NULL)是宏定义 #define NULL ((void *)0),是一个指向地址0的指针,也就是说它是一个值为0的指针类型的数,这个宏是在头文件stddef.h文件里面定义的,你可以用#include <stddef.h>或者#include <stdlib.h>来使用它;
nul(NUL)一般而言是指ASC码'\0'字符,十六进制值为0x00,这个在C语言的头文件里面没有被定义,你可以自己定义它 #define NUL '\0',一个字符串的最后一个字符就是’\0'(隐含的);
举例:
#include <stdio.h>
#include <stdlib.h>
#define NUL '\0'
int *ptr = NULL;
char ch = NUL;

eof是文件结束符,值为-1,你可以从头文件stdio.h里面找到它的定义 #define EOF (-1),表示文件结束或者流结束;
\r和\n都是一个字符,分别表示回车和换行,在ASC码里值分别为0x0D、0x0A,windows中文本一行的结尾都是有两个字符\r\n,但是在unix、linux里面只有一个字符\n,Mac里面则是只有字符\r,但是你是用printf("\r");或printf("\n");大部分程序(某些控制台程序除外)都是没有太大区别的。
至于字符为什么写成\加上0、r和n等,是因为在C语言中表示字符或字符串时遇到\(转义字符)则不会把下一个字符识别为普通字符,比如说'\n',表示ASC码0x0A,而不是值为0x6E的字母n。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-27
NULL,就是空的意思,什么也没有。如定义一个指针int *a = NULL,就是这个指针哪里也不指,为空。
EOF就是末尾的意思,每一个文件在它的结束都有一个EOF标志,意思这个文件完了。当然你是看不见它的。
\n就是换行,你完全不用知道它的理论实现方法,你只要知道编译器在编译 源代码的时候如果碰到了\n,编译 器就知道这是用户要让换行了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网