首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
malloc函数使用了下面哪个空间?()
[单选题]
malloc函数使用了下面哪个空间?()
bbs
堆
栈
都不对
查看正确选项
添加笔记
求解答(0)
邀请回答
收藏(21)
分享
纠错
1个回答
添加回答
1
我可不是花生
bss段: bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。 bss是英文Block Started by Symbol的简称。 bss段属于静态内存分配。 data段: 数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。 数据段属于静态内存分配。 text段: 代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。 这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读(某些架构也允许代码段为可写,即允许修改程序)。 在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。 堆(heap): 堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。 当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张); 当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)。 栈(stack): 栈又称堆栈,是用户存放程序临时创建的局部变量, 也就是说我们函数括弧“{}”中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变量)。 除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。 由于栈的先进先出(FIFO)特点,所以栈特别方便用来保存/恢复调用现场。 从这个意义上讲,我们可以把堆栈看成一个寄存、交换临时数据的内存区。
发表于 2019-09-06 00:21:23
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
嵌入式
基础
顺丰集团
Java工程师
来自:
顺丰科技2019秋招嵌...
上传者:
小小
难度:
1条回答
21收藏
1152浏览
热门推荐
相关试题
支持时间片轮转调度的实时操作系统中...
操作系统
Java工程师
C++工程师
顺丰集团
基础
嵌入式
评论
(1)
来自
顺丰科技2019秋招嵌入...
下面是关于基于ARM内核的嵌入式芯...
嵌入式操作系统
基础
ARM
嵌入式
评论
(2)
下面是关于ARM处理器芯片中的DM...
嵌入式操作系统
基础
ARM
嵌入式
评论
(1)
下列语句:int *p, a = ...
C++
顺丰集团
C语言
评论
(45)
来自
顺丰科技2019秋招嵌入...
代码中使用const定义的变量,存...
Java工程师
C++工程师
顺丰集团
基础
嵌入式
评论
(8)
来自
顺丰科技2019秋招嵌入...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题