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

  • 1
  • 0
  • 约2.92千字
  • 约 6页
  • 2026-09-20 发布于河北
  • 举报

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

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

一、指针基础概念面试题

1.什么是指针?指针和指针变量的区别?

答案:

指针本质就是内存地址,是数据在内存中存储的位置编号,是一个常量概念。

指针变量是专门用来存储内存地址的变量,是一个可修改的变量。我们平时代码中写的int*p是指针变量,日常口语中简称指针。

简单总结:

指针=内存地址(数值)

指针变量=存放地址的变量(可读写)

2.*和符号分别代表什么含义?

答案:

:取地址符,作用是获取变量的内存地址,只能作用于变量,不能作用于常量和表达式。

*:两种用法:

定义变量时:int*p,表示定义一个指针变量;

使用变量时:*p,表示解引用,取出指针地址中存储的实际数据。

3.指针变量的大小是多少?和什么有关?

答案:

指针变量的大小和存储的数据类型无关,只和系统架构有关。

32位系统:所有指针大小都是4字节

64位系统:所有指针大小都是8字节

不管是int*、char*、double*,指针本身大小完全一致,区别仅在于解引用时读取的字节数不同。

二、指针易错基础面试题(笔试高频)

4.char*p和int*p核心区别是什么?

答案:

核心区别是指针步长和解引用读取的字节数不同:

char*:步长1字节,p+1地址+1,解引用读取1字节数据;

int*:步长4字节,p+1

文档评论(0)

1亿VIP精品文档

相关文档