C语言中的使用内存的三段
1.正文段即代码和赋值数据段
一般存放二进制代码和常量
2.数据堆段
动态分配的存储区在数据堆段
3.数据栈段
临时使用的变量在数据栈段
典例
若一个进程实体由PCB、共享正文段、数据堆段和数据栈段组成,请指出下列C语言程序中的内容及相关数据结构各位于哪一段中。
①全局赋值变量( ) ②未赋值的局部变量( )
③函数调用 实参传递值( ) ④用malloc()要求动态开辟内存空间( )
⑤常量值(例如 1997, “string”)( ) ⑥进程的优先级
A.PCB B.正文段 C.堆段 D.栈段
答案:B D D C B A
解析:全局赋值变量在正文段赋值数据段, 未赋值的局部变量和实参传递在栈段,动态分配内存在堆段,常量在正文段,进程的优先级和进程的状态信息在PCB内(Process Control Block)
不积小流无以成江河