指向尚未声明的结构的指针

时间:2012-02-05 09:39:59

标签: c

  

可能重复:
  undefined C struct forward declaration

即使我没有声明结构,如何声明指向结构的指针?

#include<stdio.h>

int main(){
    struct s{
     struct p *ptr;
   }; 
}

为什么以上编译成功?

2 个答案:

答案 0 :(得分:10)

这是可能的,因为编译器只需处理指向它的指针就不需要了解结构。

这是一种常用的技术,通常称为“不透明指针”。

答案 1 :(得分:0)