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了 樓主可以做個試驗,看看輸出結果地址間的關係,你就應該可以...