if(NULL != p)和if( p!=NULL )在C语言中有什么区别?具体是什么意思?

2024-12-13 17:05:08
推荐回答(3个)
回答1:

if(NULL != p)和f(p != NULL)两者并没什么区别,都是判断指针p是否为空。

但是当考虑到出错检查时,if(NULL != p)写法更好,因为如果误写为if(NULL = p)的时候,编译器就会提示出错(因为常量不能被赋值);而if(p != NULL)如果误写为if(p = NULL),则编译器不会报错。

回答2:

有区别。

第一种写法更安全 防止手残写成= 不报错 不好找bug。

  • 流程图开始、初始化:首先是根据项目的要求确定要用到的变量与自定义的一些数据;这些是写程序的第一步,相对来说是比较容易的。

  • 流程图主体:也就是项目所要达到的目的,画出流程图的行动方案、普通工作环节、问题判断或判定环节、输入输出;这里主要的重点是理清逻辑关系。

  • 结束:有结束的程序要画出来,一些无限循环的可以不用画。

    到此,一个完整的流程图就画出来了。

    这些都是很容易就可以画出来的,把复杂的简单化,只要把流程图画出来就可以根据流程图一步一步的把程序编写出来。

  • 流程图的草稿画完了,然后进行完善,从头到尾的读一次,看看是不是有漏掉的地方,如:判定的地方是不是要按键触发等等。

    检查没问题之后我们就可以根据流程与步骤,写程序了。程序开头和结尾是很容易的,而中间是要靠我们的基础知识和平时的积累。

    流程图相当于题目,甚至比题目更加的清晰明了,所以新手写程序不妨先画一个流程图在写,其实一些大的项目,画流程图更是必须的,错综复杂的关系用流程图就可以轻松的解析明白。

  • 例如:设计一个低频信号发生器,下图就是流程图,只要根据流程图编写就可以很容易的把程序写出来了。而这个项目的目的是能够输出正弦波、三角波、和方波信号,并可以调整个新号的频率;

    根据上面所说:首先是开始、初始化,然后是通过按键判断,判断后是进行相关的操作(波形的产生,频率的改变)。

    每一件复杂的事情都是有很多简单的事情构成的,解决了简单的事情,复杂的也就慢慢的被解决了。

回答3:

没什么区别,防止敲击键盘是出错时,编译器是否能提示报错。
if(NULL != p) 如果写错写成if(NULL = p) 会报错
if( p!=NULL )如果写错写成if(p=NULL) 不会报错
一种编程小技巧,没什么的