C函数与程序结构学习
来源:互联网 发布:现在开淘宝网店怎么样 编辑:程序博客网 时间:2024/05/29 13:25
C语言程序一般都由许多小的函数组成,而不是由少量较大的函数组成。 C程序可由一个主函数和多个其他函数构成,由主函数调用其他函数,其他函数之间也可以互相调用。函数之间的通信可以通过参数(实参到形参)、函数返回值(return)以及外部变量进行。
说明:(1)若干源文件,但是仅有一个主源文件,便于编写、分别编译,保证一个函数不被分离到多个文件中
# 三个函数分别为 main.c getline.c strindex.c
则可以使用命令 cc main.c getline.c strindex.c 来编译这3个文件,并把生成的目标代码存放在文件 main.o getline.o strindec.o 中,然后把这3个文件加载到可执行文件a.out中,如果存在错误(比如 main.c中存在错误),则可通过 命令 cc main.c getline.o strindex.o 重新编译并将编译结果一起加载到可执行结果a.out中
(2)一个源文件是一个编译单位,程序编译是以源文件为单位编译,而不是以函数为单位
(3)C程序的执行是从main函数开始的,main中结束
(4)函数之间相互独立,不能嵌套定义,可相互调用,但不能调用main函数,main函数是系统调用的
函数定义的一般形式:
类型标识符 函数名(形式参数列表)
{
声明部分
语句部分
}
形参不占内存空间,只有发生调用的时候才分配空间,调用结束后释放空间。在内存中形参和实参是不同的单元,形参的值改变不影响实参。
函数无返回值时,类型标识符可用void。
类型标识符不写 ,默认按整型处理,函数带有参数则要声明它们;如果没有参数,则使用void。
函数声明可在最前和mian函数里面,(Ritchie书里面一般放在最前 ),被调函数在主调函数之前可省。
编译系统不检查声明部分的参数名,可以不写。实参类型必须与函数原型中形参类型一致,否则出错。
extern声明外部变量的作用:1,可先使用后定义 2,在不同源文件中变量的使用
外部变量的作用域从声明它的地方开始到所在文件的末尾结束。(详见 Ritchie书P80)。外部变量的定义和使用不再同一个源文件中,则需使用关键字extern,但这个声明没有建立变量或为它们分配存储单元。在一个源文件夹的所有源文件中,一个外部变量只能在某个文件中定义一次,外部变量的定义中必须指定数组的长度,但extern声明不一定要指定数组长度。
例:
file1
extern int sp;
extern double val[];
void push(double ) { ... }
file2:
#define MAXVAL 100
int sp =0;
double val[MAXVAL];
static有定义的作用,如static int a; static 声明变量使它们仅供其所在的源函数使用,其他函数不能访问。
extern 和 static 都不释放存储空间。
- C函数与程序结构学习
- C/C学习笔记/函数与程序结构
- C语言学习笔记_5函数与程序结构
- <<c程序设计语言>>-4- 函数与程序结构
- C语言<四> 函数与程序结构
- (三十一)C语言学习笔记(二)——函数与程序结构
- C++函数与程序结构
- C++函数与程序结构
- 函数与程序结构
- 函数与程序结构
- 函数与程序结构 例题
- 函数与程序结构 例题
- 函数与程序结构&数组与指针(C编程语言)
- 《C程序设计语言》笔记----第四章 函数与程序结构
- C程序设计语言整理笔记(四)函数与程序结构
- The C Programming Language 第四章函数与程序结构 读书笔记
- 函数与程序结构【重学C之四】
- 《C语言程序设计》读书笔记(四)——函数与程序结构
- 计算机信息表示之“位向量” - [计算机基础]
- 数学沉思录
- 页次(PageControl)标签颜色及字体颜色
- C++ STL Vector
- Altium designer手工布线技巧 边总结别更新
- C函数与程序结构学习
- 实用sql语句大全
- ORDER BY 子句与 DISTINCT冲突
- ODBC, OLEDB, ADO, ADO.Net的演化简史
- 计算机信息表示之“位向量” - [计算机基础]
- Uiautomator Api浅析
- 树形查询简介
- 正则表达式删除代码的注释
- 数组排序函数