在c语言中 **表示什么意思。

作者&投稿:云通 (若有异议请与网页底部的电邮联系)
~

*表示指针,**表示指针的指针。

例如:int *a;这个语句声明了一个变量a,a的数据类型是int *,也就是整型变量的指针类型(如果不懂什么是指针,那这个问题就没有意义了)。也就是说 a的值是一个内存地址,在这个地址所在的内存空间中存放的是一个整型变量。再看:int **b;这个语句也声明了一个变量b,b的数据类型是int **,也就是整型变量的指针的指针类型(二级指针)。也就是说 b的值是一个内存地址,该地址所在的内存空间中存放的是一个整型变量的指针(一级指针,或许就是上面那个a的值)。



*表示指针,**表示指针的指针,一句话可能很难和你解释得那么明白,buffer中存放的是内存中的地址,而这个存放内容对应的地址中还是存放的地址,最后那个地址中存放着类型名为MediaBuffer(字面上看这个是用于媒体播放时的缓冲数据)的数据首地址

指针的指针。

举例来说,
int* p1;
表示说p1指向一个int型的量,而p本身是指向int型变量的指针,它保存一个地址。

int** p2;
表示说p2指向一个int*型的量,而它指向的int*型变量又指向一个int型变量。p2和跑
指向的变量都是地址。

表示指向指针数据的指针,存放指针数据的存放地址,如:* *p;char *buffer[]={"This is a data pointer.","Hello,how are you!"};p=buffer;则p的内容是指针数组buffer的首地址

是是是法执法 赋值赋值法 地址。