Head First C的读书笔记
首先来理解下存储器,存储器分为
1 栈(用来保存局部变量,每当调用函数的时候,函数中的所有局部变量都会在栈上创建)
2 堆 (用于动态存储,程序在运行时创建的一些数据)
3 全局变量 (位于所有函数以外,并对所有函数可见。程序一开始时就会创建全局量,可以修改)
4 常量段 (一开始运行就创建,保存在只读存储器,所有不可以修改。)
5 代码段 (只读,加载机器代码)
例子:
int y = 1;
int main()
{
int x = 4;
return 0;
}
y在全局位置,所以它存放于全局量段,假设地址为0x1 000 000,值为1.
x在局部变量,存放于栈上,假设地址为0x4 100 000,值为4.
好累。。。我放弃。。。
函数指针的定义
int (*test_fn)(int) 前面的int为返回类型 test_fn为指针变量 ()中的int为参数
函数指针数组
void (*test_fn[])(t_f) void为返回类型 test_fn[]为函数指针数组 t_f为函数指针