c语言 二级指针

简介: pp 就是二级指针变量,用来装1指针的地址。int ** 就是二级指针类型,int *是一级指针类型。同理: int ***是三级指针类型,装二级指针地址,&pp。int **** 是四级指针类型,装三级指针地址。平时顶多用到2级,本质都是一样的。

前言


前面我们学习了一级指针操作变量,那什么是二级指针?二级指针又如何操作变量呢?


一、二级指针的声明定义:


二级指针定义:


int a = 12; / / a变量有自己的空间地址,假设为 0x10, 里面装 12
int *p = &a; / / p变量有自己的空间地址,假设为 0x20, 里面装 0x10
int **pp = &p; / / pp变量有自己的空间地址,假设为 0x30, 里面装 0x20

注意点:

pp 就是二级指针变量,用来装1指针的地址。

int ** 就是二级指针类型,int *是一级指针类型。

同理: int ***是三级指针类型,装二级指针地址,&pp。

int **** 是四级指针类型,装三级指针地址。

平时顶多用到2级,本质都是一样的。


二、二级指针的使用:



0d35cf1a9b48ffd44751729b67655da.png

计算规则:


*+空间的地址,就是该空间本身。

*+ 空间的地址,就是该空间本身。

推导d:

p == &a;
*p == *&a;
pp == &p;
*pp == *&p ==p;
** pp ==*p == a;

所以:**pp 和 a 是一模一样的。

总结


这部分内容要自己好好理解,自己推导一下公式,有些难度。


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

热门文章

最新文章