C语言——详解二级指针及其与二维数组的误区、指针定义大全

C语言中的二级指针(也称为指针的指针)是指一个指针变量,它存储的不是普通的值,而是另一个指针的地址。这意味着你可以通过二级指针来访问和修改另一个指针的值。这种结构在C语言中非常有用,尤其是在处理动态内存分配、数组、链表等复杂数据结构时。

指针变量本质上也是一个变量,包含变量类型,变量值,变量地址,变量名四个要点。指针变量与其他变量不同的地方是,指针变量的值是一个地址,我们把指针变量称为指向其保存的地址的指针。而指针变量本身也有一个地址,此时如果有另一个变量b保存的是这个指针a的的地址,那么这个变量b也是指针变量,且是二级指针。

定义二级指针

在C语言中,定义一个二级指针的语法如下:

int **ptr;

这里,ptr 是一个指向 int* 类型的指针的指针,即它是一个指向指针的指针,而这个指针又指向一个整型值。

使用二级指针

示例1:通过二级指针修改指针的值
#include   
  
int main() {  
    int a = 5;  
    int *p = &a;  // p 是一个指向 int 的指针  
    int **pp = &p; // pp 是一个指向 p(也就是指向 int* 的指针)的指针  
  
    printf("原始值: %d\n", *p); // 通过 p 访问 a 的值  
    p &

你可能感兴趣的:(C语言——详解二级指针及其与二维数组的误区、指针定义大全)