C語言 關於用指標處理鍊錶

2021-09-13 16:04:31 字數 1391 閱讀 1286

指標

指標的定義: *型別名 指標變數名

如: int *p;

定義的同時進行初始化: int *p=&a;

指針對陣列的引用

int a[5]=;

int *p;

p = &a[0]; //表示把a[0]的位址賦值給指標p

或者寫 p = a;//表示把陣列a首元素的位址 ,即a[0]

陣列指標的運算

*(p++)與   *(++p)是不同的;

① *(p++)是先取 *p 的值,然後使 p 加1;

② * (++p) 是先使p加 1,再取 *p;

++(*p)表示p所指向的元數值加1,即相當於++a[0];

*減法同理*

函式指標

int max(int ,int );

int (*p)(int,int) ; //定義指標函式

p = max; //表示將max函式的入口位址賦給指標變數p

指標陣列作main函式的形參

int main() 或  int main(void) 	//表示函式沒有引數,呼叫main函式時不必給出實參

int main( int argc , char ar** ) // argc 和 ar** 就是main函式的形參

//argc 引數個數; ar** 引數向量

1.什麼是鍊錶

鍊錶是動態地進行儲存分配的一種結構。

作用是為了避免記憶體的浪費,它是根據需要開闢記憶體單元設定的。

2.單向鍊錶

由 head 的 next 指向下個節點

頭指標:head (整個鍊錶都必須包含head)

結點 :必須包含兩部分(1)使用者需要用的實際資料 (2)下乙個節點的位址

空指標(表尾):null

3.建立鍊錶(利用結構體)

struct student

;

4.輸出鍊錶

void output(struct student *head)  // 定義乙個鍊錶輸出的函式

while(p != null);//當p不是空位址時迴圈

}

5.注意

malloc()分配記憶體後最後記得free() 釋放記憶體

詳情:

用指標處理鍊錶

用指標處理鍊錶 建立乙個簡單的鍊錶,它由3個學生資料的結點組成,要求輸出各結點中的資料 include struct student int main while p null 輸出完c結點後p的值為null,迴圈終止 return 0 寫一函式建立乙個有3名學生資料的單向動態鍊錶 include ...

用指標處理鍊錶

鍊錶概述 鍊錶是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。鍊錶有乙個 頭指標 變數,它存放乙個位址,該位址指向乙個元素,鍊錶中每乙個元素稱為 結點,每個結點都應包括兩個部分,一為使用者需要用的實際資料,二為下乙個結點的位址。可以看出,頭指標 head 指向第乙個元素,第乙個元素又指...

用指標處理鍊錶

鍊錶是一種常見的重要資料結構。它是動態地進行儲蓄分類的一種結構。鍊錶有一系列節點構成,節點在執行時動態生成,每個節點包括資料域,資料域儲存當前節點的資訊,指標域儲存下乙個節點的手位址。記憶體隨著時間的增加會找不到大塊的順序空間 陣列的大小只能是固定的,增加或刪除都會移動大量資料 鏈式儲存大小可以伸縮...