爆肝IT小白的函数狂想曲(part 2)

简介: 函数声明👏什么是声明,你告诉你的编译器,函数叫什么,参数是什么,返回类型是什么;但到底存不存在,我们不关心。声明一般在函数使用之前,要满足先声明后使用;且声明一般出现在头文件中。函数的定义是指函数的具体实现,交代函数的功能实现。C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明,语法如 :type function_name(type var);

下面我引用了几个声明函数的例子:


int max(int a, int b); //返回两个变量中值较大的值。

float sum(float a, float b, float c); //返回三个变量a、b、c的和。

printf(char *fmt, …); //按格式显示


就好像在告诉你的编译器:“你现在没看到他的定义不要紧,请不要报错。”举个栗子:

image.png

这里自义定求和函数Add,实现它我们要声明一下,其他编译器我不知道,但vs早期编译器时只能放在前面,咱vs2019是允许放在最后的(如上图),也没有任何语法错误;当可以放在前面和后面时就更为灵活了。说为什么要声明这玩意儿?假如你要去网吧,但基于你是个未成年学生,就得事先向父母声明目的,走正规渠道,不然后果很严重。


升华格局

当然,我们的声明和定义这么用格局就低了,如果是写一个这样的加减法,我们简单写一个模块出来,我愿称之为低配版模块化编程。我们在新建源文件里面再新建一个头文件 add.h。我要把函数声明放进add.h,把函数定义放在 .c文件里面,三个部分构成一个加法模块

image.png

最后奇迹就发生了:

image.png

这里看起来没有声明与定义就可以跑是不是很帅?哈哈,注意头文件引用add.h时尖括号要变双引号。由此同理,把加减乘除放一堆模块化编程其实就能搞出计算器如下:(传统艺能手残PPT)

image.png

具体怎么码的就不一一细说了

相关文章
|
6月前
|
SQL 前端开发
一篇文章讲明白IPage使用大概
一篇文章讲明白IPage使用大概
94 0
|
6月前
|
数据可视化
一篇文章讲明白Euclideanspace
一篇文章讲明白Euclideanspace
26 0
|
7月前
|
存储 分布式计算 Apache
Spark编程范例:Word Count示例解析
Spark编程范例:Word Count示例解析
|
调度 Python
Python 异步: 常见问题 Part_1(23)
Python 异步: 常见问题 Part_1(23)
116 0
|
芯片 索引 内存技术
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
|
分布式计算 大数据 Scala
Spart 原理_逻辑图_MapPartitionsRDD | 学习笔记
快速学习 Spart 原理_逻辑图_MapPartitionsRDD
242 0
Spart 原理_逻辑图_MapPartitionsRDD | 学习笔记
|
编译器 C语言 C++
|
存储 Shell Linux
Linux常用命令(Part Ⅰ)
Linux常用命令
266 0
|
XML 存储 Java
第7章—SpringMVC高级技术—处理multipart形式的数据
处理multipart形式的数据 MultipartResolver 用于处理文件上传,当收到请求时 DispatcherServlet 的 checkMultipart() 方法会调用 MultipartResolver 的 isMultipart() 方法判断请求中是否包含文件。
1364 0
|
Java Spring 前端开发
精通SpringBoot——第一篇:DispatcherServlet和Multipart配置
SoringBoot 系列教程,DispatcherServlet和Multipart配置,深入理解SpringMVC 和SpringBoot的原理
8796 0