[英]C typedef and pointers to struct
如果我有以下內容:
typedef struct _MY_STRUCT
{
int a;
float b;
} MY_STRUCT, *PMYSTRUCT
*PMYSTRUCT
做什么的? 現在是我需要聲明的指針類型還是僅可以使用的_MY_STRUCT
指針?
我知道MY_STRUCT
是一種新類型,需要按如下方式使用:
MY_STRUCT str;
str.a = 2;
但是那個*PMYSTRUCT
呢?
PMYSTRUCT ms = NULL;
等於
MYSTRUCT* ms = NULL;
效果與
typedef MYSTRUCT * PMYSTRUCT;
它只是充當結構體指針的typedef。
MY_STRUCT s;
s.a = 10;
PMYSTRUCT ps = &s;
ps->a = 20;
在c中, typedef
具有存儲類語義,就像static
, auto
和extern
。
考慮一下:
static int a, *p;
-聲明a為int類型的靜態變量,而p為類型為int指針的靜態變量。
typedef int a, *p
聲明a為int類型,p為類型為int的指針 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.