Linux-C程序設計大全 第4章 指針與字符串

sizeof運算符:得到內置類型的大小(sizeof(int)),得到複合類型的大小

(sizeof(結構體,指針,數組))

數組的指針:int(*p)[10]; p是一個指針,指向一個數組對象。


指針的指針:int *p;int**p;

                                         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 (*p)();

                      函數指針經典應用———回調函數(泛型算法)

                               int(*f[10])(int,int)//函數指針數組,f是一個數組,數組裏有10個函數指針,指向返回值爲int,

                                參數爲int,int的函數。
                可以構造函數指針指向這個函數,來進行調用。
    
                                
發佈了37 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章