Linux-C程序設計大全 第4章 指針與字符串
1.指針作爲參數傳遞
函數的調用,實參值拷貝給形參,複製到函數棧幀作爲局部變量使用,對參數的修改無法被
調用者看見。————經典swap程序。
利用指針作爲參數傳遞,不改變局部變量(指針副本)的值,而是改變他們指向的內容。可以被
調用者看見。Most important 如果需要改變指針的值,傳遞的應該是指針的指針。
2.指針類型的意義
指針本質:一個無符號的整型,代表一個內存單元的單元號。
既然是一個整數,是否可以將指針p與整數進行比較?可以,但是需要將整型先轉換爲指針,
NULL不是一個關鍵字,而是定義在stdio.h中的宏,#define NULL (void*)0, NULL是一個常數0,
代表0號存儲單元。
定義指針通常需要定義其指向的數據的類型。int* or double* or char*
void*型指針指向任意一個類型的內存單元。引用該指針所指向的數據,會發生編譯錯誤。
經典利用 void *p; p=malloc(sizeof(int));p=(int*)p;
函數指針經典應用———回調函數(泛型算法)
參數爲int,int的函數。
可以構造函數指針指向這個函數,來進行調用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.