爆肝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

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

相关文章
|
10月前
|
Arthas Java 程序员
面试官: 这些都不清楚,如何pass?
面试官: 这些都不清楚,如何pass?
39 0
SAP ABAP 方法调用里传值(Pass Value)和传引用(Pass Reference)的区别试读版
SAP ABAP 方法调用里传值(Pass Value)和传引用(Pass Reference)的区别试读版
|
缓存 Linux Windows
certutil工具使用和bypass学习
certutil工具使用和bypass学习
643 0
|
芯片 索引 内存技术
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
Selenium成长之路-10简单对象定位之partial link text方法
Selenium成长之路-10简单对象定位之partial link text方法
130 0
Selenium成长之路-10简单对象定位之partial link text方法
|
存储 Perl
Verilog读书笔记---数据类型、系统任务、`define、parameter、localparam三者的区别
Verilog读书笔记---数据类型、系统任务、`define、parameter、localparam三者的区别
388 0
Verilog读书笔记---数据类型、系统任务、`define、parameter、localparam三者的区别
ts重点学习84-unknown类型笔记
ts重点学习84-unknown类型笔记
114 0
|
Python
《Python实例》基础之argparse,提供一个友好的接口说明,老大说我做的真好
python经常是作为脚本在使用,在大部分的时候我们写的脚本都要给其他人使用,参数的调用常规的情况下需要提供说明文档,说明每个参数是怎么使用的,但是如果是给同组内的程序同学使用,大都不愿意写文档,对于我们程序同学来说写代码更简单,再说源码都给你了要什么文档。
127 0
《Python实例》基础之argparse,提供一个友好的接口说明,老大说我做的真好
|
编译器 C语言 C++