C語言 迴圈新增節點(鏈式物理結構)

2021-08-05 19:12:13 字數 931 閱讀 7504

/*

* 鏈式物理結構演示

* 新增不確定個節點,迴圈新增

* 步驟:新建結構體->將首尾相連->定義迴圈指標變數->定義新節點的變數->開始死迴圈,在迴圈中完成新增(輸入乙個數->分配動態空間給新建的結構體->將輸入的值賦值給新建結構體內的變數,指標賦值空->用迴圈框架進行鏈結)->釋放動態記憶體

* */

#include

#include

typedef struct node node;

int main() ,tail = ;

head.p_next =

&tail;//剛開始時還沒有有效節點,就將頭尾相連

node *p_node =

null, *p_tmp =

null;//p_tmp是迴圈指標變數,p_node是新建節點

//死迴圈來無限輸入

while(1)

p_node = malloc(sizeof(node));//動態分配乙個儲存空間,所生成的鏈結構中所有有效值的空間都是動態分配的

if(!p_node)

p_node->num = num; //新加入的數賦值給結構體

p_node->p_next =

null; //與該數配對的指標

for(p_tmp =

&head; p_tmp !=

&tail; p_tmp = p_tmp->p_next)

}for(p_tmp =

&head; p_tmp !=

&tail; p_tmp = p_tmp->p_next)

}printf("\n");

}//清除動態記憶體

while(head.p_next !=

&tail)

return

0;}

棧 鏈式結構 C語言

棧 由於是鏈式結構的棧,所以棧的容量基本上可是等於無限。include includetypedef int datatype typedef struct node stack void init stack stack stack 壓棧 void stack push stack stack,d...

c語言迴圈結構

迴圈結構 1.goto無條件轉移語句 goto 無條件轉移語句 label goto label goto 結合if語句使用 盡量不要使用goto 只能在當前函式內跳轉 int main int argc,const char argv return 0 例項 goto實現1 100相加 inclu...

C語言 迴圈結構

列印7的倍數 while i 100 i 列印個位為7的數 while i 100 i 列印十位為7的數 while i 100 i 列印出不是7的倍數,且不包括7的數 while i 100 else i printf n printf n int j 100 while j 0 else j p...