函数的定义
- 独立的程序段
- 实现某个特定的功能
- 易于编写、理解、工程结构更加清晰
函数的定义
type_specifier function_name(arguments)
{
执行部分
}
注意:函数定义好之后,在使用该函数之前必须进行声明。
函数参数
函数参数分为形参和实参,主要是实现数据传送。
按照我自己的理解:形参就是在函数定义时传递的参数,形参就是在函数调用时传递的参数。
函数中参数的传递分两种
- 按值传递
- 按地址传递
主调函数与被调函数主要有以下几种方式:参数传递、返回值、全局变量。
C中文件包含
一个工程中.c.h文件的分类存放是相当必要的。一个.c文件对应一个.h文件。
在.h文件中,一般要写入以下代码段:
#ifndef _INIT_H_//文件名
#define _INIT_H_
......
这段一般写入得是函数的声明
对应的.c文件所需的头文件一般也放在这里
.......
#endif
局部变量和全局变量
局部变量:在函数内部定义,生命周期为该函数内部,开始时创建,结束时销毁。
全局变量(extern):在函数以外声明,整个程序执行期间有效。
存储类别
程序代码区:存放函数体二进制代码
静态、全局区:全局和静态变量存储的区域
堆区:程序猿自行分配
栈区:编译器分配、存放函数参数值、局部变量值
遇到问题
1.形参和实参理解的不是特别清楚
2.函数参数的两种数据传送过程还是不太清楚,按值传递和按地址传递没弄太明白。
3.函数中什么时候需要定义形参、怎么用没弄太明白。
解决方法
通过老师的讲解以及自己上网查找的一些有关资料,慢慢理解了这些方面的概念。参数的传递过程也通过自己在对程序的调试过程中略微理解了点。
心得体会
今天内容虽然不多,但是函数这方面是在整个c语言阶段都用得着的,果真今天学了函数的包含之后,项目工程的结构就更加清晰了,并不像之前那样整个代码都写在一个main函数中,显得整个工程特不臃肿,看起来也累。每天学习一点、进步一点,要记得坚持下去啊!