C 两个*连着是什么意思

来源:百度知道 编辑:UC知道 时间:2024/07/04 06:38:17
typedef struct s_D {
int t;
union {
int n;
struct s_D** l;
char *c;
int *i;
real *r;
double *d;
struct s_D* (*f)();
} p;
} D;
其中那个struct s_D** l **什么意思。。。定义变量用*是指针用两个*是什么意思
那fortran95里面有指向指针的指针的功能没?没有的话有没有其它办法实现?

如楼上所说,**为二级指针,即指向指针的指针,fortran95中的指针和C中的指针用法并不太一样,就是一级指针可以直接指向一级指针
如:
integer(kind=4),target::a
integer(kind=4),pointer::b=>a
integer(kind=4),pointer::c=>b
但编译器做出的解释不一样,C中的指针是变量的地址,二级指针则是一级指针的地址,而fortran中的指针除了包含地址外,还有一些其他信息,如数组维数等,而且各种fortran编译器解释也不尽相同!
希望对你有帮助

一个*是指针,两个*是指向指针的指针。