資料結構 結構體和結構體指標

2021-09-25 07:12:34 字數 1064 閱讀 9859

結構體

struct node

s1,s2; //-------------變數s1,s2

typedef struct node

ss; //-------------型別名ss

結構體指標

typedef struct node

;*pointer;

等價於typedef struct node* pointer

;等價於

struc

t node

;typedef struct node* pointer;//----------常見的定義方式

(搬運自

開始很好奇為什麼宣告鍊錶的結點要用結構體指標來宣告而不是結構體宣告,即假如宣告了結構體和結構體指標:``

typedef struct node  //定義乙個node型別的結構體並取名為node

node;

typedef struct node* linklist;

建立或者

建立鍊錶的時候,要宣告結構體指標linklist而不是node:

void newlist(linklist l,int n)//尾插法(單鏈表建立)

r->next=null;

}*

可以這樣理解(不知道對不對,如有不對請指正),我每次宣告乙個結構體指標並且為這個結構體指標分配乙個node節點大小的空間(並且這個結構體指標指向乙個空的node型別的結構體),然後指向這個空間的首位址,當每次為節點寫入資料的時候我就可以用p->data寫入資料(p是乙個申請了空間的結構體指標),然後p->next也指向乙個結構體(因為next也是乙個結構體指標,但是它指向的結構體為null即並不存在),然後當下一次又有乙個申請了空間的結構體指標(設為q),如果想讓q作為p的下乙個節點,那麼就可以讓p->next指向q(我覺得這裡可以理解為讓p->next指向q指向的位址)。如果是插入乙個節點,則首先要為插入的節點申請空間。

結構體指標和結構體陣列

struct ha 100 b,c 3 d 結構體指標其實是乙個指標,它儲存的是指向某個結構體的 位址 所以結構體指標陣列儲存的其實是指向一組結構體的 位址 陣列,它本身並不包含結構體的具體內容 沒有被分配記憶體 所以當用到他們時,要麼重定向,比如 d b 讓d指向b,d儲存的是b的位址,這樣就能通...

和結構體 9 3 結構體指標

01指向結構體變數的指標 1 指向結構體物件的指標變數既可以指向結構體變數,也可指向結構體陣列中的元素。2 指標變數的基型別必須與結構體變數的型別相同。3 c語言中允許把 p num用p num來代替,代表乙個箭頭,p num表示p所指向的結構體變數中的num成員。02指向結構體陣列的指標 1 p ...

結構體型別 結構體變數 結構體陣列 結構體指標

問題1 一元錢換為1 2 5分的硬幣,有多少種兌換方?本題要點分析及參 對各種可能情況進行一一測試。這是實現迴圈的一種方式 窮舉法 但實際上只有只有餘額才能兌換成其它面值的硬幣 main 注意換行的控制和每列的對齊 問題3 某鐵路線上有10個站,需要準備多少種客票?main b a 0 p prin...