在C中 一个程序没有返回值是什么意思?能具体说明一下吗?

在C中 一个程序没有返回值是什么意思?能具体说明一下吗?,第1张

返回值主要有两种,一种是函数反回值,一种是程序返回值,二者是不同的。为了避免混乱,在编写C/C++程序时,对于任何函数都必须一个不漏地指定其返回值类型。如果函数没有返回值,那么应声明为void类型。程序返回值是程序执行完毕后返回给 *** 作系统的一个数值,这个数值 *** 作系统有用,也可以是空值,即不返回值。一个程序没有返回值,在C中实现时把main函数申明为void类型即可。

很正常啊,没有返回值,就是不需要返回值。

比如:定义一个函数,在函数中打印信息到屏幕上。

void displayMessage(char *msg) {

#ifdef NEED_DEBUG

   printf("%s\n", msg)

#endif

}

很显然,调用这个函数,我不需要知道信息是不是已经打印到屏幕上了。(只有调试程序,才需要显示信息)

有很多类似的场景,比如:某个程序,根据给定的参数,在屏幕上绘制完成一个图像,而调用者不关心图像是不是绘得正确,因为正确与否不影响程序的继续执行。

1.返回函数里面局部变量的地址,而函数结束后,该地址就释放掉了,所以在函数外访问、修改该地址都是非法的,结果不可知

2.指针为野指针,然后向野指针赋值(*ptr=10),非法访问,结果不可知,容易崩溃,切函数返回的也是野指针

3.函数内申请动态内存空间,函数结束,该内存空间不会释放,函数返回该内存空间地址,外部可以使用,但外部需要手动释放该空间(free(动态内存空间地址))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11460195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存