小弟在看书时,看见下面的结构体中的ASTAT,*PASTAT不知道为什么这么定义,有何作用
typedef struct _ASTAT_{
    ADAPTER_STATUS adapt;
    NAME_BUFFER NameBuff[ 30 ];
}ASTAT,*PASTAT;

解决方案 »

  1.   

    类似如下定义:
        typedef  int    INT
        typedef  int    *PINT    INT i, j, k;//i,j,k是int类型
        PINT p,q;//p,q是int*类型,是指针
      

  2.   

    ASTAT,*PASTAT 的意思是同时定义了两个东西:)一个是ASTAT,   这是一个结构
    另一个是PASTAT  这是一个结构指针在以后的使用中,你可以这样 ASTAT Astat; 声明一个结构
    同时由于也定义了一个ASTAT结构的指针, 你也可以这样 PASTAT pAstat; 声明一个ASTAT结构的指针(这样定义的结构指针和 ASTAT *pAstat; 这样定义的结构指针的效果一样)
      

  3.   

    ASTAT是一个结构,*PASTAT是一个结构指针;typedef struct _ASTAT_{
        ADAPTER_STATUS adapt;
        NAME_BUFFER NameBuff[ 30 ];
    }
      

  4.   

    _ASTAT_是你定义的一个新的数据类型;
    ASTAT是_ASTAT_类型的一个实例;
    *PASTAT是指向_ASTAT_实例的一个指针。