簡體   English   中英

C 數據結構,變量

[英]C data structure, variables

對不起菜鳥問題

我有一個結構:

typedef struct  s_test
{
    int         head;
    char        *end;
}               t_test;

我的代碼:

int main()
{
   t_test a;
   t_test *b;
}

a.headb->head什么不同? 為什么我不能輸入a->headb.head ?。 我知道b是一個指針,它包含一個變量類型t_test的地址。

b->head只是做(*b).head方便語法糖。

您必須先取消引用指向結構的指針,然后才能在其上使用點表示法,這就是您不能執行b.head的原因。

你不能做a->heada不是指針,所以它不能被取消引用。 解引用運算符*僅對指針有意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM