首页 > 代码库 > 存储类、链接、内存管理

存储类、链接、内存管理

作用域:代码块作用域、函数原型作用域、文件作用域 函数作用域(只适用于goto)

链接:外部链接、内部链接、空链接(代码块作用域、函数原型作用域)

存储时期:静态存储时期、自动动态存储时期


五种存储类:自动,寄存器(代码块内使用register,不能使用地址运算符),外部链接的静态、内部链接的静态(static)、空链接

x =30;
while(x++<33)
{
int x = 100;
printf("%d",x);


}

打印了三次100,递增必须在条件判断语句中

 


对函数参量不能使用static,静态变量和外部变量在程序调入内存时已经就位

 


rand()、srand()函数可以产生随机数,在stdlib.h中
time.h中time()返回系统时间,返回值是time_t,确切类型与系统有关,可以自己对它进行类型指派

 

 

malloc() 和free()在stdlib.h中
变长数组在二维数组的分配上占优势:int n = 5;int m = 6; int ar[n][m];
int (*p)[6]或int (*p)[m]//支持变长数组; p = (int(*)[6])malloc(n*6*sizeof(int)); p = (int(*)[m])malloc(n*m*sizeof(int));

变长数组自动存储,自己释放

 

 

ANSI C类型限定词(幕等的:可以不止一次使用同一个限定词,多余的将被忽略):const、restrict(限定指向数据块的唯一访问方式--方便优化代码)

 

存储类、链接、内存管理