首页 > 代码库 > CPrimer Plus第12章 存储类、链接和内存管理随笔

CPrimer Plus第12章 存储类、链接和内存管理随笔

被static修饰的属于内部链接,不可被外部程序文件所使用
一般而言,全局变量(文件作用域变量)具有静态存储期,局部变量(代码块作用域变量)具有自动存储期
寄存器变量不能使用地址运算符
因为被static修饰的变量不会中途被释放,所以不能用static修饰函数的形参
变量的定义放在所有函数定义的外部即创建了一个外部变量,若外部变量在其他文件中定义,则需见extern修饰
全局变量只能用常量表达式来赋值;int i;    int j = 2*i;不被允许

ptd = (double *)malloc(n * sizeof(double))中(double *)在C语言中可省略,C++中必须要有;
ptd = (double *)calloc(n,sizeof(double)),与malloc不同的是每个元素都初始化为0,更加安全


函数内部申请的内存空间可以不用释放,以为函数执行结束后会自动释放,总的来说,即使不free(),等程序执行完,所有申请的内存空间最终都会被释放
存储时期分为:静态的、自动的、分配的