[问题]编译.c文件出现NULL未声明错误

C、C++和Java语言
回复
Cykit
帖子: 17
注册时间: 2006-02-20 9:55
送出感谢: 0
接收感谢: 0
联系:

[问题]编译.c文件出现NULL未声明错误

#1

帖子 Cykit » 2006-10-16 0:25

代码: 全选

  1 int main() {
  2         int *p;
  3         p = NULL;
  4 }

代码: 全选

cykit@cykit:~/c/include$ gcc t.c
t.c: 在函数 ‘main’ 中:
t.c:3: 错误: ‘NULL’ 未声明 (在此函数内第一次使用)
t.c:3: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
t.c:3: 错误: 所在的函数内只报告一次。)
Cykit
帖子: 17
注册时间: 2006-02-20 9:55
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 Cykit » 2006-10-16 1:04

我#include <stdio.h>后就行了。
那么说NULL是在stdio.h中声明的了?
头像
efan
帖子: 238
注册时间: 2006-09-14 21:59
来自: 广东
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 efan » 2006-11-05 19:14

应该是stdio.h所引用的其他头文件里面声明的
传说中的一凡……
philions
帖子: 5
注册时间: 2006-11-07 23:25
送出感谢: 0
接收感谢: 0

#4

帖子 philions » 2006-11-13 22:22

好像The c programming language里提过,确实NULL是在stdio.h中声明的。
头像
efan
帖子: 238
注册时间: 2006-09-14 21:59
来自: 广东
送出感谢: 0
接收感谢: 0
联系:

#5

帖子 efan » 2006-11-13 23:36

不一定啊,只要满足“包含stdio.h之后就能用NULL”就可以了
像我的Ubuntu下,就是在libio.h定义的NULL,而stdio.h引用它
传说中的一凡……
头像
volans
帖子: 67
注册时间: 2006-11-15 14:28
来自: Beijing
送出感谢: 0
接收感谢: 3 次

#6

帖子 volans » 2006-11-20 16:51

#define NULL (void *)0
回复

回到 “C/C++/Java”