在函數的定義中,函數的參數可以是各種變量,就包括指針變量。首先,我們來看看一個函數的定義:
void func(char* p);
該函數的名稱叫做func,參數定義為 char* p是個一級指針變量;那麼,對該函數有如下調用:
char a = 'A';
func(&a);
此時,把字符變量a的地址賦給func函數的指針變量p參數,如同:
char* p = &a;
那麼,func函數中的指針變量p參數,就指向了字符變量a;
程序測試代碼如下:
運行的結果如下:
可以看到,在func()函數中,輸出字符變量b的值,就是傳遞給func()函數的字符變量a。因為func()函數中的參數指針變量p指向字符變量a;所以,執行:
char b = *p;
那麼,*p就是對指針變量p進行降級,轉換為指針變量p所指向的變量a;最終,把變量a賦給變量b。所以,輸出變量b的值就是變量a的值。如同:
char b = a; //就是把變量a的值賦給變量b;
此時,通過傳遞指針,我們可以在func()函數内,得到一個指針p指向變量a。那麼,我們可以通過指針變量p修改變量a的值。程序測試例子如下:
程序運行結果如下:
可以看到,通過指針變量p,可以修改傳遞給func()函數的參數a。
總結本章節我們學習了C語言的指針,這是一個比較重要的知識點,需要多加練習掌握。在視頻教程中,作者通過代碼來演示和講解程序,更加容易理解。
所以,讀者可以根據作者的教程,自己親自敲打代碼,然後,驗證作者講解的理論知識,最終,掌握C語言指針的知識點。
本章節講解的知識點,由淺入深,一步一步地深入講解C語言的指針知識點。所以,從第一節開始,按順序學習下來,就可以知道:原來C語言的指針是那麼的簡單。
建議讀者對每一個章節多加思考學習,下一章節,我們更深入地學習C語言的指針知識點。有C語言指針的基礎知識之後,才可以更深入學習下一章的内容。有任何疑問,可以随時聯系作者!
讀者要仔細分析,掌握好每一個知識點,然後,自己總結出對該知識點的理解。自己總結出來的知識,理解才深刻,才是自己掌握的知識。
,