C语言高频面试题及详细答案(企业实战版).docxVIP

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

C语言高频面试题及详细答案(企业实战版).docx

C语言高频面试题及详细答案(企业实战版)

一、C语言基础概念类

1、简述C语言变量的作用域和生命周期

答案:

变量作用域指变量可以被访问的代码范围,生命周期指变量在内存中存在的时间。

1.局部变量:定义在函数或代码块内部,作用域仅限当前代码块,出块即失效。生命周期随函数调用开始、函数结束销毁,存储在栈区。未初始化时是随机脏值。

2.全局变量:定义在所有函数外部,作用域覆盖整个源文件,可通过extern跨文件访问。程序启动开辟内存,程序结束释放,存储在全局静态区,默认初始值为0。

3.静态局部变量(static):作用域仍为局部,但是生命周期和全局变量一致,程序运行期间一直存在,只会初始化一次,下次调用函数会保留上一次的值。

2、const关键字的用法和作用

答案:

const用来修饰只读变量,禁止修改对应内存数据,主要四种场景:

1.constinta:修饰普通变量,a的值不可修改,只能读取。

2.constint*p:指针指向的值不可改,但指针本身的地址可以改,常用于函数参数保护数据,防止误修改实参内容。

3.int*constp:指针本身地址不可改,但指向的数据可以修改。

4.constint*constp:地址和指向的数据都不可修改,是完全只读指针。

补充:const修饰的变量会被放在只读数据区,程序运行期间无法赋值修改,能有效提高代码安全性

文档评论(0)

1亿VIP精品文档

相关文档