c语言 空指针 与,c语言的空指针

kodinid 4 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言指针 与的问题,于是小编就整理了5个相关介绍c语言 空指针 与的解答,让我们一起看看吧。

  1. c语言空指针的表示方法?
  2. C语言中while(linkP)表示什么?
  3. c语言空函数作用是什么?
  4. c语言中srand(time(NULL)); 这句话是什么意思(尤其是NULL)?
  5. 都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢?你能举例说说吗?

c语言空指针的表示方法

在C语言空指针用NULL表示,NULL宏是在标准库头文件stddef.h中。宏定义如下:可以看出c++中 NULL为(int)0 , C中NULL为(void*)0。看来C和C++中NULL宏的值略有不同

C语言中while(linkP)表示什么

while(p)等价于while(p!=0)检查的是p值是不是0,或者是不是空指针,如果是,则跳出循环,不再继续循环体而while(*p)相当于while(*p!=0)检查的是p所指向地址中的数据是否为0,但前提是p不能为NULL

c语言 空指针 与,c语言的空指针-第1张图片-安济编程网
图片来源网络,侵删)

c语言空函数作用是什么?

c语言空函数,就是没有一条语句的函数,作用就是调用到这函数什么也不做,直接返回了。而返回值是一个函数结束之后的最后遗言,用来告诉调用他的人一些情况,可以是函数的执行正确于错误,或者带给调用他的人其他信息,都可以,自己来定义。而返回值为空,就是本函数不带给调用他的人任何情况。没有返回值:被调函数执行完之后不传递给主调函数数值作用就是完成相应的功能,只不过是没有返回值而已

如果定义函数时只给出一对花括号{}而不给出其局部变量和函数体语句,则称该函数为“空函数”。空函数的作用:(1)程序设计过程需要。在设计模块时,对于一些细节问题或功能在以后需要时再加上。这样可在将来准备扩充的地方写上一个空函数,这样可使程序的清晰,可读性好,而且易于扩充。(2)在C++程序中,可以将基类中的虚函数定义为空函数,通过派生类去实例化,实现多态。对于你所说的“void表示主函数为空函数,没有返回值”:void 函数名(参数);这种形式的函数定义,是说所定义的函数没有返回值。没有返回值(也就是函数体内没有return语句),是指函数只是完成一系列动作,不需要返回值给调用函数;或者返回值是通过指针等方式返回给调用函数的。

c语言中srand(time(NULL)); 这句话是什么意思(尤其是NULL)?

这是两个函数的调用一个是 srand(unsigned int) ;一个是 time(long *t) ;这里是把他们两个合在一起写,time函数的返回值作为srand函数的 参数 ,而NULL就是time函数的输入参数 ,time 函数要求参数是一个指针,因此得用 NULL,NULL代表指针不知向任何变量,而 0 则是 int 型的,类型不符如果非要用0, 也可以进行强制类型转换, srand((unsigned)time ( (long *) 0)) ;

c语言 空指针 与,c语言的空指针-第2张图片-安济编程网
(图片来源网络,侵删)

都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢?你能举例说说吗?

1. 分析问题

整个问题,从提问者的角度,等价于两个子问题:

子问题1:为什么C语言要引入指针?

c语言 空指针 与,c语言的空指针-第3张图片-安济编程网
(图片来源网络,侵删)

子问题2:指针怎么才能用好?

来分析子问题1。要回到这个问题,要回顾计算机程序的执行原理

现代通用计算基本上都遵循冯·诺依曼结构。

冯·诺依曼结构的精髓在于:将计算机指令与数据一视同仁,都放入内存处理。所以计算机程序执行的过程,实际上就是不断从内存中取出指令,再从内存中取出数据,指令作用于数据得到结果,结果再放回内存的过程。

从这个过程可以看出,程序的整个运行都是围绕内存进行的。既然指令和数据都放在内存中,那么执行哪条指令、取哪个数据、结果放到哪里,都需要精确定位内存的具体位置

C语言作为开发Unix操作系统而创造出来的编程语言,天然需要具备操作系统底层能力;而从上述程序运行的视角来看,所谓的系统底层能力,核心在于对内存位置的定位能力。C语言用于对内存进行定位的“武器”就是指针。

一言以蔽之:C语言之所以引入指针,是由C语言诞生的历史背景和所要承载的历史使命决定的——开发操作系统,要用强大的操控系统底层的能力,系统底层的核心是对内存的定位操作。

很多同学被指针搞懵的原因在于:大陆的C语言[_a***_]的教材基本上都是谭浩强的《C语言程序设计》,这本教材讲述指针过于繁琐,没有抓住指针的本质。

到此,以上就是小编对于c语言 空指针 与的问题就介绍到这了,希望介绍关于c语言 空指针 与的5点解答对大家有用。

标签: 函数 指针 语言