高级C语言工程师面试题及详细答案.docx

高级C语言工程师面试题及详细答案.docx

高级C语言工程师面试题及详细答案

一、基础深度考察(核心必问,区分高级与中级)

1.请详细说明C语言中static、const、volatile三个关键字的作用,以及它们的底层实现逻辑(结合编译、内存分配),并举例说明实际开发中的应用场景

答案:

###static关键字

作用分3种场景,底层核心是“改变变量/函数的链接属性和生命周期”:

1.局部变量前加static:改变生命周期(从“栈分配”变为“全局数据区分配”),生命周期与程序一致,初始化一次(默认初始化为0),作用域仍为当前函数。底层编译时,会将该变量分配到.bss段(未初始化全局数据)或.data段(已初始化全局数据),而

文档评论(0)

1亿VIP精品文档

相关文档