C语言:二级指针简介

简介: 二级指针即为二级指针变量,用于存放一级指针变量的地址。一级指针变量是用来存放普通变量的地址(地址其实就是一些数字),一级指针变量也是一个变量,存放普通变量地址的同时自身也是有地址的。那么一级指针变量的地址就需要二级指针变量来存放。

二级指针简介


二级指针即为二级指针变量,用于存放一级指针变量的地址。


一级指针变量是用来存放普通变量的地址(地址其实就是一些数字),一级指针变量也是一个变量,存放普通变量地址的同时自身也是有地址的。那么一级指针变量的地址就需要二级指针变量来存放。



以如下代码为例,理解以下 5 点(X64系统):


1. 整型变量a的地址为 0x000000b23913fbb4(地址其实就可以当做一段数字)


2.  一级指针变量p存放整型变量a的地址,p的值就是整型变量a的地址0x000000b23913fbb4


3.  p作为一个指针变量也有地址,p的地址为 0x000000b23913fbd8


4.  二级指针变量pp存放一级指针变量p的地址,pp的值就是一级指针变量p的地址0x000000b23913fbd8


5.  二级指针变量pp作为变量当然也是有地址的:0x000000b23913fbf8 ,若要存放二级指针变量pp的地址,则就需要三级指针变量来存放,由此向下推出多级指针变量

int a = 10;
int* p = &a;
int** pp = &p;

7482dfa8af69aa5e01ef13b5a22b0c52_a830bd47522148eebe662274196cc10e.png

目录
相关文章
|
6天前
|
安全 C语言
【C语言】如何规避野指针
【C语言】如何规避野指针
14 0
|
7天前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
21天前
|
存储 程序员 编译器
爱上C语言:指针很难?来来来,看看这篇(基础篇)
爱上C语言:指针很难?来来来,看看这篇(基础篇)
|
1天前
|
存储 程序员 C语言
【C 言专栏】C 语言指针的深度解析
【4月更文挑战第30天】C 语言中的指针是程序设计的关键,它如同一把钥匙,提供直接内存操作的途径。指针是存储其他变量地址的变量,通过声明如`int *ptr`来使用。它们在动态内存分配、函数参数传递及数组操作中发挥重要作用。然而,误用指针可能导致错误,如空指针引用和内存泄漏。理解指针的运算、与数组和函数的关系,以及在结构体中的应用,是成为熟练 C 语言程序员的必经之路。虽然挑战重重,但掌握指针将增强编程效率和灵活性。不断实践和学习,我们将驾驭指针,探索更广阔的编程世界。
|
3天前
|
算法 搜索推荐 程序员
C语言中的函数指针和回调函数
C语言中的函数指针和回调函数
9 2
|
6天前
|
存储 编译器 C语言
【C语言】初步解决指针疑惑
【C语言】初步解决指针疑惑
6 0
|
7天前
|
存储 C语言
指针深入解析(C语言基础)带你走进指针,了解指针
指针深入解析(C语言基础)带你走进指针,了解指针
|
7天前
|
C语言 C++
C语言:指针运算笔试题解析(包括令人费解的指针题目)
C语言:指针运算笔试题解析(包括令人费解的指针题目)
|
9天前
|
存储 安全 编译器
C语言怎样定义指针变量
C语言怎样定义指针变量
7 0
|
9天前
|
安全 C语言
指针与字符串:C语言中的深入探索
指针与字符串:C语言中的深入探索
14 0