'NULL':未定义的标识符

gaoyi1234560 2013-09-28 09:58:34
在VS2008中编译过程中,出现了这种情况,加了头文件《stdio.h》和《windows.h》都不行
...全文
6043 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
mujiok2003 2014-01-20
  • 打赏
  • 举报
回复
引用 20 楼 my_live_123 的回复:
完全可以自己定义一个

#define NULL (void*)(0)
#ifndef NULL
#ifdef __cplusplus
#define NULL    0
#else  /* __cplusplus */
#define NULL    ((void *)0)
#endif  /* __cplusplus */
#endif  /* NULL */
Jimmy1224 2014-01-20
  • 打赏
  • 举报
回复
缺少头文件#include<stdlib.h>
一根烂笔头 2014-01-14
  • 打赏
  • 举报
回复 1
完全可以自己定义一个

#define NULL (void*)(0)
nandoutk 2014-01-14
  • 打赏
  • 举报
回复
加 #include<cstdio>或<stdio.h> 亲测可行
lpcads 2013-10-01
  • 打赏
  • 举报
回复
#define NULL 0 不太放心的话就使用 nullptr
yulitingfeng 2013-09-30
  • 打赏
  • 举报
回复
引用 5 楼 hai200501019 的回复:
if(curr==NUll||curr->rightChild==NULL)return NULL; 楼主注意拼写啊 curr==NULL 而不是curr==NUll ,看好了 还有 if(curr==NULL||curr->leftChild=NULL) return NULL; 应该是 curr->leftChild == NULL
+++
赵4老师 2013-09-30
  • 打赏
  • 举报
回复
关于自己是否适合编程的很简单的测试: 在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案: A里面有10处以上文字或标点错误 B里面没有文字或标点错误并敢为此跟人打赌 C里面没有文字或标点错误并且字体和排版完全与原稿一致 D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感 A不适合编程(理由:打字准确度偏低、粗心大意) B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念) C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证) D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!) 如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
阿麦 2013-09-30
  • 打赏
  • 举报
回复
using namespace std NULL在std里
傻傻不解释 2013-09-30
  • 打赏
  • 举报
回复
实在不行 自己定义呀
自信男孩 2013-09-30
  • 打赏
  • 举报
回复
自己定义吧
#define    NULL (void*)0
sanzhong104204 2013-09-29
  • 打赏
  • 举报
回复
这么简单的问题,未定义定义一个就好了呀 在你程序文件前面,头文件后面加上几行: #ifndef NULL #define NULL ((void *)0) #endif
Adol1111 2013-09-28
  • 打赏
  • 举报
回复
curr==NUll||curr->rightChild==NULL 好像这句错了吧,注意拼写NULL
Adol1111 2013-09-28
  • 打赏
  • 举报
回复
实在不行,直接#define NULL 0,效果是一样的,如果还有错就是其他问题了。 你的实现文件是分开写的?确定每个文件都加了stdio.h吗?再仔细看一下。
Adol1111 2013-09-28
  • 打赏
  • 举报
回复
引用 6 楼 yangyi_33855 的回复:
头文件包含错了吧,是#include <stdio.h>什么的 “”表示在当前文件夹啊
这个是没问题的,""会先查找当前文件夹再查找库,<>是直接搜索库,如果反过来用<>查找当前文件夹就错了,不过如果当前文件夹有很多文件的话也不建议用""来代替<>
lin5161678 2013-09-28
  • 打赏
  • 举报
回复
cstddef cstdio cstring ctime
yangyi_33855 2013-09-28
  • 打赏
  • 举报
回复
头文件包含错了吧,是#include <stdio.h>什么的 “”表示在当前文件夹啊
海的神话 2013-09-28
  • 打赏
  • 举报
回复
if(curr==NUll||curr->rightChild==NULL)return NULL; 楼主注意拼写啊 curr==NULL 而不是curr==NUll ,看好了 还有 if(curr==NULL||curr->leftChild=NULL) return NULL; 应该是 curr->leftChild == NULL
  • 打赏
  • 举报
回复
运行时就出错??? 编译连接都没问题吗
gaoyi1234560 2013-09-28
  • 打赏
  • 举报
回复
这是所有的代码,可是运行时就出错
gaoyi1234560 2013-09-28
  • 打赏
  • 举报
回复
#include "stdafx.h" #include "stdlib.h" #include "stdio.h" #include "stddef.h" //#include "windows.h" typedef char DataType; //#define NULL (Node *)0 #include "bitreenode.h" int _tmain(int argc, _TCHAR* argv[]) { BiTreeNode *root,*p; Initiate(&root); p=InsertLeftNode(root,'A'); p=InsertLeftNode(p,'B'); p=InsertLeftNode(p,'D'); p=InsertLeftNode(p,'G'); p=InsertRightNode(root->leftChild,'C'); InsertLeftNode(p,'E'); InsertRightNode(p,'F'); return 0; }
加载更多回复(1)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧