/*處理動態鍊錶所需要的函式
1、malloc函式
原型為: void *malloc(unsigned int size);
其作用是在動態儲存區中分配乙個長度為size的連續空間。
此函式返回值是乙個指向分配域起始位址的指標(基型別為void).如果此函式未能分配成功地執行(例如記憶體空間不足)則返回空指標(null).
void型是指(void指標型型別,可定義乙個指標變數,但不指定它是指向哪一種型別資料。void型別的指標指向乙個抽象的型別的資料,
如果要使void型指標賦新值,得進行強制型別轉換。例(struct student *p)將void型別的指標p強制轉換成struct student型別
2、calloc函式
原型:void *calloc(unsigned n,unsigned size);
其作用是在記憶體的動態區儲存中分配n個長度為size的連續空間,函式返回乙個指向分配起始域位址的指標;如果分配不成功,返回null
(可為一維陣列開闢動態儲存空間,n為陣列元素的個數,每個元素長度為size.
3、free函式
原型:void free(void *p);
其作用是釋放由p指向的記憶體區,使這部分記憶體區能被其它變數使用。p是最近一次呼叫的calloc或malloc函式時返回的值。free無返回值。*/
#define null 0
#define len sizeof(struct student)//巨集定義
/*定義結構體型別*/
struct student
;int n;//n為全域性變數,本模組中各函式均可使用它
struct student *creat(void)
p2->next =null;
return(head);}
//以上寫的建立結點的函式,今天就寫到這吧,今天太累了,明天接著寫!
線性鍊錶 C語言實現
include include define error 0 define ok 1 define equal 1 define overflow 1 define list init size 100 define listincrement 10 struct stustu 50 typedef...
資料結構C語言實現 線性鍊錶
declaration.h ifndef declaration h included define declaration h included define true 1 define false 0 define ok 1 define error 0 define infeasible 1 ...
資料結構 線性鍊錶的c語言實現
鍊錶實現的邏輯分析 為了實現業務結點的靈活定義,我們需要定義單獨定義鍊錶結點來實現鍊錶的串接與查詢,而要讓業務結點包含鍊錶結點,以實現通過鍊錶結點將業務結點串接起來。而為了實現業務結點與鍊錶結點的位址統一,我們在定義業務結點時要將鍊錶結點包含在頭部,以實現目的。示意圖如下圖所示。鍊錶結點定義 typ...