C語言實現線性結構建立動態鍊錶的學習心得(一)

2021-04-13 21:39:59 字數 939 閱讀 5254

/*處理動態鍊錶所需要的函式

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...