前言
目前对于军工企业或者说是嵌入式行业,C语言是不可替代的一部分,因此开展简单的分析、学习、讨论,同时推荐一个非常小的C语言编译、调试软件《Dev-Cpp》,如果需要的小伙伴评论区留言即可。
一、C语言-函数/链表1
下面详细讲解下函数、链表、预处理、枚举等一些常用到的知识点,就像一个房子,有冰箱、沙发、洗衣机等东西,每个东西都有着一定的的功能,这里先介绍链表一部分,后续链表内容请看链表2。
二、详细介绍
2.1 函数的参数
对于函数的参数来说,实参是调用函数时函数的参数,而形参是函数被定义时函数的参数,而调用函数的过程,就是将函数的实参传递给函数形参的过程。
#include "stdio.h"
//声明函数
extern void Function1(int f_a);
int main(void) {
int a=0;
/*此时调用的a就是实参,将实参a赋值给形参f_a*/
Function1(a);
printf("a=%d\n",a);
}
void Function1(int f_a) {
f_a=f_a+1;
printf("f_a=%d\n",f_a);
}
打印输出:
f_a=1
a=0
通过打印输出,可以看到,函数形参经过运算,并没有影响到函数的实参;
因此,想要影响函数的实参,需要用到一个工具,也就是指针工具。
#include "stdio.h"
//声明函数
extern void Function1(int * f_a);
int main(void) {
int a=0;
/*此时调用的&a就是实参,将也就是将参数a的地址赋值给函数形参*/
Function1(&a);
printf("a=%d\n",a);
}
void Function1(int * f_a) {
/*通过符号* 解引用,直接操作形参对应地址的内容,达到影响实参的目的*/
*f_a=*f_a+1