相信C语言初学者常会在前辈留下的项目,或者一些开源项目中看到以 void 作为参数的函数,例如 void fun(void),虽然我们都明白在C语言中,“void”表示空,但是按理说,如果函数不需要参数,直接空着就行:void fun(),为什么还要多此一举的写上 void 呢?

void fun(void),为什么还要多此一举的写上 void 呢?

C语言函数参数的定义方式

大多数C语言教程在谈到自定义函数时,一般都将函数的“参数类型列表”放在“()”中,例如:

void f(int a, float b){ ...}

C语言没有理由将“无参数函数”作为特例处理,因此从“通用性”来看,定义C语言函数时,“()”内应该始终有“参数类型列表”,如果函数不需要使用参数,应该指定为 void,而不是空着。

但是在C语言程序开发中,void fun(); 这种定义函数的方式又的确是可行的,难道C语言真的将“无参数函数”作为特例处理了吗?

难道C语言真的将“无参数函数”作为特例处理了吗?

其实不是的,在C语言中,定义函数时,指定参数还有另外一种方式(标识符列表方式):

void f(a, b) int a; float b;{ ...}

以标识符列表方式定义函数不常见,但的确是可用的,下面是一段完整的测试C语言代码,请看:

#include void f(a, b) int a; float b;{ printf("%d, %f

函数c语言表示_C语言定义无参数的函数时,f()和f(void)有什么区别?相关推荐

  1. .Net Framework 4.5.1 ASP.NET MVC 5 下新建视图报“错误 运行所选代码生成器时出错 无法检索元数据 没有为该对象定义无参数构造函数”...

    当在控制器中新建视图的时候,选择的视图界面如下: 执行添加后报如下错误: 错误的内容为: 错误 运行所选代码生成器时出错 无法检索"XXX"的元数据 没有为该对象定义无参数构造函数 ...

  2. c语言关键字_C语言初学者必须掌握的关键字!

    相信这么努力的你 已经星标了我 老九学堂 你身边的IT导师 其实小伙伴在写代码的时候,关键字还是用的比较多的,  今天大雄主要就平常中用到的常用关键字进行总结,便于小伙伴们更全面的理解其在代码中的意图 ...

  3. 蜂鸣器发出7种音阶c语言程序_C语言编程新思路

    第一章 单元测试 1.单选题: 关于一个C语言程序执行的起点和终点,以下选项正确的是 ( ). 选项: A: main 任意 B: main 最后一个 C: main main D: 第一个 最后一个 ...

  4. c语言 指针_C 语言指针详解

    (给CPP开发者加星标,提升C/C++技能) 作者:C语言与CPP编程 / 自成一派123(本文来自作者投稿) 1为什么使用指针 假如我们定义了 char a='A' ,当需要使用 'A' 时,除了直 ...

  5. 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...

  6. c语言 指针_C语言野指针以及非法内存操作

    如果一个指针指向的内存没有访问权限,或者指向一块已经释放掉的内存,那么就无法对该指针进行操作,这样的指针称为野指针(Wild Pointer). 指向没有访问权限的内存 请看下面的代码: #inclu ...

  7. c语言是静态语言python语言是脚本语言吗_C语言还是Python语言哪个更好?

    最近,很多人问我问题. C语言还是Python,哪个更好?实际上,没有什么好坏之分,而且由于Python的基本逻辑是用C语言实现的,因此它们都有自己的特点.如果您想了解更多信息,建议您先学习C语言,然 ...

  8. 如何用反余弦求pi c语言,acos()_C语言acos()详解:反余弦函数,求反余弦值

    double acos(double x); acos() 函数的功能是求反余弦值. 反余弦函数 acos() 和余弦函数 cos() 的功能恰好相反:cos() 是已知一个角的弧度值 x,求该角的余 ...

  9. 关于C语言结构体数组如何作为参数传入函数

    1.不多说上代码 #include<stdio.h> typedef enum {female,male }Sextype; typedef struct {Sextype sextype ...

最新文章

  1. Delphi7 (第一天:类的编写)续
  2. SQL基础语法与规则
  3. 从未如此简单:10分钟带你逆袭Kafka!
  4. knn算法(分类)-机器学习
  5. 【Software】动软代码生成器
  6. 使用DirectX播放音频数据流
  7. 禁止cmd dos 窗口被关闭
  8. macOS Mac10.15修改登录界面背景
  9. 如何使用SPSS进行斯皮尔曼相关性分析
  10. 【Python】1.基本语法元素
  11. 中国养蚕及深加工市场盈利模式与投资价值评估报告(2022-2027年)
  12. Java面试题精选四(oracle、mysql数据库)
  13. Volatility工具使用
  14. mac - 让焦点迅速定位到分屏显示中
  15. 基于ResNet的猫十二分类
  16. database changed是什么意思_itunes其他是什么 itunes其他清除方法介绍【图文教程】...
  17. 数据化运营chapter4_code--分析模型和方法
  18. 撬动百亿智能办公市场 钉钉发布智能考勤机标准
  19. 【javaWeb】第50天—— WEB实战项目二
  20. Python图像处理笔记——卷积

热门文章

  1. Selenium自动化测试WebDriver下载
  2. Laravel教程 四:数据库和Eloquent
  3. iOS中copy,retain,strong,assign,weak的区别以及使用
  4. 用C/C++写CGI程序
  5. 采用docker部署3台Redis分布式红锁实例
  6. 【免费毕设】基于jsp的新闻发布系统(论文)
  7. php怎么获取权限操作 shell,利用php利用root权限执行shell脚本必须进行以下几个步骤...
  8. java中static_认识java中的static
  9. stm32f407 spi3 mosi没有输出_正点原子STM32F407探索者开发板资料连载第56章 USB 读卡器实验
  10. mysql 8.0 ga_mysql 8.0 GA发布了