C语言指针高频面试题及详细答案(真实面试版).docxVIP

  • 1
  • 0
  • 约3.48千字
  • 约 7页
  • 2026-10-12 发布于河北
  • 举报

C语言指针高频面试题及详细答案(真实面试版).docx

C语言指针高频面试题及详细答案(真实面试版)

本套题目精选企业笔试、面试高频指针考点,涵盖基础概念、指针运算、野指针、二级指针、数组指针、函数指针、指针易错代码分析等核心内容,答案通俗易懂、贴合工程实战,无书面化空洞讲解。

一、基础概念面试题(入门必问)

1.简述指针的本质,指针变量和普通变量的区别?

答案:

指针的本质是存储内存地址的变量。普通变量存储的是数据本身(int存整数、char存字符),而指针变量存储的是另一个变量的内存编号(地址)。

核心区别:

普通变量:取值直接用变量名,操作的是数据值;

指针变量:存储地址,通过解引用(*)才能操作地址对应的实际数据;

在32位系统中,所有指针变量大小都是4字节;64位系统中都是8字节,和指向的数据类型无关。

2.和*运算符分别是什么作用?优先级和结合性如何?

答案:

取地址符:作用是获取变量的内存地址,只能作用于变量、数组元素,不能作用于常量、表达式;

*解引用符(取值符):作用是根据指针地址,取出对应内存中的数据,只能作用于指针(有效地址)。

优先级:和*优先级相同,结合性为自右向左。

示例:*a等价于a,先取a的地址,再通过地址取值,还原变量本身。

3.空指针NULL是什么?空指针和未初始化的指针有什么区别?

答案:

NULL是C语言定义的宏,本质是(void*)0,代表地址为0的无效内

文档评论(0)

1亿VIP精品文档

相关文档