首页 > 代码库 > 017_计算机结构体系二

017_计算机结构体系二



未初始化的全局变量和静态变量在bss段中,已经初始化的全局变量和静态变量在数据段中(DS)

 

自定义申请的内存空间在堆中  void *malloc(size_t size)

 

 free(p) ; p=NULL; 当指针指向malloc函数的返回值时,用完后要做内存释放和令指针指向NULL,当只有free(p)时还能打印出p指向的这片地址内容,但内容不确定

 

悬空指针:int *p ; *p=3; 虽然定义了指针变量p,但p指向的地址不确定,即p的指向的地址所属的段不确定

 

heap 

stack  

 

栈:先进后出,

 

每一段都有栈帧,函数再返回值后就释放栈帧

 

只有栈才有栈帧

 

函数结束不代表进程结束

 

函数内部的局部变量都是函数所是有的

 

LOCAL  只限本.c文件内部被调用

GLOBLE  除能在本.c文件内部被调用,也能在非本.c文件中调用

 

在函数前加上static关键字该函数就变成内部函数,该函数只限本.c文件内部被调用,别的.c文件无法调用

 

printf输出缓冲区的内容是需要在格式控制符中夹\n释放缓存空间