复习:
自定义函数:
1、函数声明 告诉编译器函数的格式,方便它检查调用者的参数、返回值。
2、隐式声明 当调用函数时如果没有声明和定义,编译器会猜测函数的格式,函数的形参按照调用者的实参猜测,返回值默认int。
3、函数定义 函数的定义出现在调用之前可以省略声明。
3、函数传参
值传递:普通变量 函数之间不能共享同名变量(局部)。
址传递:数组的长度会丢失,需要额外增加一个参数传递数组的长度,同时该数组会被两个函数共享(调用者和被调用者);
返回值:return语句不是给把数据传递给调用者,而放在一个他们都能访问的位置,如果函数中没有return语句,那么该位置的值就是一个随机的垃圾值(上上次函数的返回值)。
进程映像:
程序:存储在磁盘上的文件(二进制、脚本)
进程:系统中正在运行的程序,进程映像指的是进程的内存分布。
text 代码段 二进制指令 常量 只读,强制修改会产生段错误。
data 数据段 被初始化过的全局变量、静态变量。
bss 静态数据段 未初始化过的全局变量、静态变量,该段内存在运行时会先清理为0(全局变量、静态变量默认为0)。
heap 堆 由于程序员手动管理,特点是够大。
stack 栈 大小有限超过限制会产生段错误,由系统管理,会随着函数的调用分配内存,函数执行结束释放内存
变量的分类:
存储位置、生命周期、使用范围
全局变量:定义函数外
data或bss
从程序运行开始到程序执行结束
任何位置可以使用
局部变量:定义在函数内
stack
C语言基础08
最新推荐文章于 2024-05-23 16:15:48 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)