誰能告訴我c語言結構體變數和結構體成員到底有什麼關係謝謝

時間 2021-07-08 21:30:47

1樓:物理公司的

結構體名字是型別名,變數名是實體名,一個型別可以有許多實體。

具體操作,舉例講解如下:

1.結構體型別定義

定義方式1:

typedef struct lnode *linklist;

定義方式2:

struct lnode ;

typedef struct lnode *linklist;

以上兩個定義方式是等價的,是將*linklist定義為struct lnode型別,即linklist被定義為一個型別名。這樣就可以用linklist來定義說明新的變數了,如:

linklist l;

即將l定義為struct lnode型別的指標變數2.結構體型別變數定義

定義方式1:

struct lnode lnodea;

定義方式2:

struct lnode ;

struct lnode lnodea;

以上兩個定義方式也是等價的,這樣就將lnodea定義為一個truct lnode型別的變數,即lnodea為一個truct lnode型別的變數名。

2樓:盈藍

結構體型別是資料型別,而結構體變數是資料物件。

但成員本身不是變數,她必須以結構體變數相連線,以便使用它的成員

c語言結構體名和結構體型別名有什麼區別

3樓:育知同創教育

結構體型別名可以將不同型別的變數放在一起,應用很廣,具體應用可以拿本c語言的書看看。

結構體名就是結構體變數的名字,與變數名類似

c語言中結構體的成員變數顯示未定義,這是怎麼回事

4樓:baby魏栓寶

先定義結構體,然後宣告結構體變數,用結構體變數+.元素名。如student.

name。如果結構體宣告在其它檔案中在使用時應把該檔案包含進來,如用#include"student.cpp"

5樓:匿名使用者

有的變數沒有定義,直接引用變數啦,c不知道你未定義的變數是什麼型別的。

6樓:廣西**民工

肯定是你定義的變數和你引用的變數這兩者不是同一變數 ,檢查一下是不是定義和引用是不小心打錯了字母

7樓:匿名使用者

最好把你寫的** 貼出來。。。。這樣才能找到問題。

8樓:皓月歆遠

c語言中必須先定義在使用

9樓:葉翠嵐招明

如果我要指向結構中那個巢狀定義的成員呢,怎麼辦?

指標的定義和成員的型別保持一致

C語言中連結串列中的結構體指標變數問題求教

定義結構體指標變數時,只分配儲存指標型別需要的空間,比如listnode p 這裡p有給他分配儲存指標的4個位元組的空間。實際上你是要讓p指向一個結構體空間的,這個結構體空間在哪?可以先定義listnode a 然後 p a 這時p指向一個之前申請分配過空間 編譯器設定過其地址和大小,在棧空間存放著...

共用體和結構體的區別,在C語言中,結構體和共用體的概念和兩者的區別是什麼啊?

追尋複製者 一 變數長度不同 結構體變數所佔記憶體長度是各成員佔的記憶體長度之和,每個成員分別佔有其自己的記憶體單元。共用體變數所佔的記憶體長度等於最長的成員的長度。二 佔用空間不同 結構體是同時存在的,並一次佔用一段連續的記憶體空間 而共用體則是多個共用成員佔用同一個開始的記憶體地址,同時他們只能...

c語言結構指標和結構體成員指標問題

佼霏聞新竹 既是取地址符號,一個指標p指向q就需要寫作p q,在函式引數裡是 引用 就是別名,類似指標了,這種情況下對變數的修改會影響到函式外的原變數。那個printf a p n a 等於求出地址 x然後作為指標看待 p 所以也是yyyy了 樓主可以做個試驗,看看輸出結果地址間的關係,你就應該可以...