在定义一个指针时,连用两个*号是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:33:06
在我看的书中,只看到定义指针是用一个*号,在网上有时看到连用两个*号,这是什么意思呢?比如:int** a;

int *a//定义的指针变量
int **a//指向指针变量的指针,结果是指针a所指向的值
你运行完这个,看结果一定明白
#include<stdio.h>
void main()
{
int *a;
int **b;
int c=1;
a=&c;
b=&a;
printf("a=%d,*a=%d\n",a,*a);
printf("b=%d,*b=%d,**b=%d",b,*b,**b);
}

那是定义二级指针,用来存放其他指针

int** a; 指针的指针
int*** a; 指针的指针的指针
int**** a; 指针的指针的指针的指针
...

指针的指针
int **a = new int[1][3];

双重指针即指向指针的指针。