指標
指標的定義: *型別名 指標變數名
如: 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 指向第乙個元素,第乙個元素又指...
用指標處理鍊錶
鍊錶是一種常見的重要資料結構。它是動態地進行儲蓄分類的一種結構。鍊錶有一系列節點構成,節點在執行時動態生成,每個節點包括資料域,資料域儲存當前節點的資訊,指標域儲存下乙個節點的手位址。記憶體隨著時間的增加會找不到大塊的順序空間 陣列的大小只能是固定的,增加或刪除都會移動大量資料 鏈式儲存大小可以伸縮...