c语言二级指针的作用,为什么要使用二级指针?

概念

提到指针,我们都知道指针是用来存储一个变量的地址。所以,当我们定义了一个指向指针的指针的时候(pointer to pointer),我们也称之为二级指针,那针对于这个二级指针来说,第一级指针存放的是指向的变量的地址,第二级指针存放的是第一级指针的地址。可以用下面这张图表示他们之间的关系。

c语言二级指针的作用,为什么要使用二级指针?_第1张图片

上图所表达的意思也就是,一级指针变量 ptr1 存放的是 var 变量的地址,二级指针变量 ptr2 存放的是一级指针变量的地址。这也就是关于二级指针的相关概念。

一级指针与二级指针关系示例

#include

int main(void)

{

int a = 10;

int *p = &a;

int **q = &p;

printf("a = %d\n",a);

printf("&a = %p\n",&a);

printf("p = %p\n",p);

printf("&p = %p\n",&p);

printf("*p = %d\n",*p);

printf("q = %p\n",q);

printf("&q = %p\n",&q)

你可能感兴趣的:(c语言二级指针的作用)