1樓:網友
#define null 0 //定義全域性變數null為0
#define type struct stu //type是名為stu的結構體。
#define len sizeof (struct stu) /len為stu的長度。
struct stu //定義stu的結構體。
int num;
int age;
struct stu *next; /指向下個物件的指標。
type *creat(int n) /結構體型別的指標型方法,引數為n
struct stu *head,*pf,*pb; /結構體型別的指標變數head,pf,pb
int i;
for(i=0;inum,&pb->age);
if(i==0) /第一次執行時。
pf=head=pb; /pf、head同時指向該記憶體。
else pf->next=pb; /pf的next指標指向pb
pb->next=null; /pb的next指標為空。
pf=pb; /pf知道pb的地方。
return(head); 返回head指標指向的結構體,即頭指標。
這段**的作用是在記憶體中申請n個結構體,建議畫圖來分析,理解指標移動的作用。
2樓:網友
如果圖都畫不出來。
那也用不著看程式了。
連結串列基礎知識
3樓:機器
超級幼稚的課激拿本基礎知識「摘抄」。
先建立乙個結構體:
1.建立連結串列。
基本思想就是先建立乙個頭節點,讓頭指標head和尾指標tail指向該節點,設定指標域為null(連結串列結尾的標誌)然後建立乙個新的節點,將pnew指向它,將實際資料放在其資料域中,指標域為null。將其插隱鉛此入到tail的後邊再將tail指向pnew所指的節點。
2.連結串列的插入操作。
在第i個後插入新的節點,基本思想為:先建立乙個新的指標指向 head所指的節點,然後迴圈尋找第i個節點,將新節點的指標域指向第i 個節點的後繼節點,再將第i 個節點的指標域指向新節點。
3.連結串列的刪除操作。
基本思想為:首先判斷刪除的是那個節點,因為頭節點不可刪除。在新定義p,q指標,迴圈尋找灶迅第i個節點,q指向p的後繼節點即要刪除的節點,再將p的指標域指向q的後繼節點,最後不要忘記釋放被刪除的節點q。
4.節點的輸出操作。
基本思想:新定義的p 指標,從頭指標開始迴圈輸出,直到其指標域為null。
5.連結串列的銷燬操作。
基本思想:新定義p,q指標,p從頭節點開始,q指向p的後繼指標,然後將p的指標域指向q的後繼指標,這樣q節點被刪除了,然後釋放q節點的記憶體。最後適當頭節點的記憶體。
c++連結串列結構定義的理解
4樓:冼染周冬
結構與陣列不同,是不同資料型別的資料集合。結構中的不同型別的資料都是有關聯的,它們被作為乙個整體來看待。如同在呼叫函式之前要先定義函式一樣,結構作為一種自定義的資料型別,在使用它之前也必須先定義。
結構型別定義的一般形式是:
struct
結構名;結構定義以關鍵字struct開頭,"結構名"必須是c++的有效識別符號,花括號中間的部分是資料成員說明列表,它是由變數說明語句構成的乙個語句序列。需要注意的是:乙個結構內至少要有乙個成員,每個成員也稱為結構的乙個域,成員的型別可以是基本資料型別,也可以是非基本資料型別。
例如:struct
example
在這個定義裡面,example是結構名,"int
a;float
b;double
c;example
ptr;"四條語句組成了資料成員說明列表。即結構型別example中有四個成員,它們分別是整型變數a、單精度浮點型變數b、雙精度浮點型變數c和指向結構example的指標變數ptr。
結構型別比一般基本資料型別可以更加靈活、方便地表示實際程式設計中的複雜資料,而這種型別的使用方法與基本資料型別相似。
連結串列的介紹
5樓:秒懂百科
連結串列:一種含敏計激脊算機資料明老滲結構。
學C語言(初學者),初學者如何學C語言?
1.書籍的話,一定要先從基礎的書開始。網上一搜一大把,都是互相抄的,沒啥好推薦的。有一本稍微高階一點的 c和指標 你可以嘗試看這個也行。2.軟體的話,單純學c,基礎的時候用vc6.0挺好。想要為以後打基礎,並且有可能轉到c 之類的話,vs2010才是最好的選擇。等你對c有一定掌握的時候,linux ...
有關C語言資料結構單連結串列的問題,關於C語言版的資料結構問題 建立單連結串列
因為malloc 有可能出現分配空間失敗的情況,當分配失敗時,malloc 將返回null,而只有在malloc 分配成功的情況下,對為head分配的空間進行操作才有意義,if語句就是檢查head的空間有沒有分配成功,如果分配失敗,就會直接退出程式,而不會執行 head next null 我分別回...
c語言初學者 提問
這是轉義字元。所有的ascii碼都可以用 加數字 一般是8進位制數字 來表示。而c中定義了一些字母前加 來表示常見的那些不能顯示的ascii字元,如 0,t,n等,就稱為轉義字元,因為後面的字元,都不是它本來的ascii字元意思了。轉義字元 意義 ascii碼值 十進位制 a 響鈴 bel 007 ...