[英]C data structure, variables
對不起菜鳥問題
我有一個結構:
typedef struct s_test
{
int head;
char *end;
} t_test;
我的代碼:
int main()
{
t_test a;
t_test *b;
}
a.head
和b->head
什么不同? 為什么我不能輸入a->head
或b.head
?。 我知道b
是一個指針,它包含一個變量類型t_test
的地址。
做b->head
只是做(*b).head
方便語法糖。
您必須先取消引用指向結構的指針,然后才能在其上使用點表示法,這就是您不能執行b.head
的原因。
你不能做a->head
是a
不是指針,所以它不能被取消引用。 解引用運算符*
僅對指針有意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.