C语言经典面试题(含详细答案·企业真实版).docxVIP

  • 1
  • 0
  • 约3.96千字
  • 约 7页
  • 2026-08-23 发布于河北
  • 举报

C语言经典面试题(含详细答案·企业真实版).docx

C语言经典面试题(含详细答案·企业真实版)

一、基础语法高频题

1、简述static关键字的三种用法(必考)

标准答案:

static是静态修饰符,在C语言中有3个核心用法,分场景生效:

1)修饰局部变量:改变变量的生命周期,不改变作用域。普通局部变量函数调用结束就销毁,static局部变量会常驻内存,程序结束才释放,只会初始化一次。

2)修饰全局变量:改变变量的作用域。普通全局变量可以跨文件访问,static全局变量只能在当前源文件使用,其他文件无法引用,实现文件私有化。

3)修饰函数:限制函数作用域。普通函数可跨文件调用,static函数仅当前文件可用,隐藏内部工具函数,避免全局命名冲突。

面试加分补充:static变量存储在静态数据区,不在栈区,不会随函数入栈出栈销毁。

2、#define和const的区别?工作中怎么选?

标准答案:

1)预处理阶段不同:#define是预编译指令,纯文本替换,不做语法检查;const是变量修饰符,编译阶段生效,会做类型校验。

2)类型区别:#define无数据类型;const常量有明确数据类型。

3)内存占用:#define不占用内存,只是文本替换;const常量会开辟内存空间。

4)作用域:#define全局生效(undef取消为止);const遵循变量作用域规则。

工作选型:单纯定义固定数值、宏函数用#defin

文档评论(0)

1亿VIP精品文档

相关文档