函數(shù)參數(shù)傳遞指針變量
在函數(shù)的定義中,函數(shù)的參數(shù)可以是各種變量,就包括指針變量。首先,我們來看看一個(gè)函數(shù)的定義:
void func(char* p);
該函數(shù)的名稱叫做func,參數(shù)定義為 char* p是個(gè)一級指針變量;那么,對該函數(shù)有如下調(diào)用:
char a = 'A';
func(&a);
此時(shí),把字符變量a的地址賦給func函數(shù)的指針變量p參數(shù),如同:
char* p = &a;
那么,func函數(shù)中的指針變量p參數(shù),就指向了字符變量a;
程序測試代碼如下:

運(yùn)行的結(jié)果如下:

可以看到,在func()函數(shù)中,輸出字符變量b的值,就是傳遞給func()函數(shù)的字符變量a。因?yàn)閒unc()函數(shù)中的參數(shù)指針變量p指向字符變量a;所以,執(zhí)行:
char b = *p;
那么,*p就是對指針變量p進(jìn)行降級,轉(zhuǎn)換為指針變量p所指向的變量a;最終,把變量a賦給變量b。所以,輸出變量b的值就是變量a的值。如同:
char b = a; //就是把變量a的值賦給變量b;
此時(shí),通過傳遞指針,我們可以在func()函數(shù)內(nèi),得到一個(gè)指針p指向變量a。那么,我們可以通過指針變量p修改變量a的值。程序測試?yán)尤缦拢?/p>
程序運(yùn)行結(jié)果如下:

可以看到,通過指針變量p,可以修改傳遞給func()函數(shù)的參數(shù)a。
總結(jié)
本章節(jié)我們學(xué)習(xí)了C語言的指針,這是一個(gè)比較重要的知識(shí)點(diǎn),需要多加練習(xí)掌握。在視頻教程中,作者通過代碼來演示和講解程序,更加容易理解。
所以,讀者可以根據(jù)作者的教程,自己親自敲打代碼,然后,驗(yàn)證作者講解的理論知識(shí),最終,掌握C語言指針的知識(shí)點(diǎn)。
本章節(jié)講解的知識(shí)點(diǎn),由淺入深,一步一步地深入講解C語言的指針知識(shí)點(diǎn)。所以,從第一節(jié)開始,按順序?qū)W習(xí)下來,就可以知道:原來C語言的指針是那么的簡單。
建議讀者對每一個(gè)章節(jié)多加思考學(xué)習(xí),下一章節(jié),我們更深入地學(xué)習(xí)C語言的指針知識(shí)點(diǎn)。有C語言指針的基礎(chǔ)知識(shí)之后,才可以更深入學(xué)習(xí)下一章的內(nèi)容。有任何疑問,可以隨時(shí)聯(lián)系作者!
讀者要仔細(xì)分析,掌握好每一個(gè)知識(shí)點(diǎn),然后,自己總結(jié)出對該知識(shí)點(diǎn)的理解。自己總結(jié)出來的知識(shí),理解才深刻,才是自己掌握的知識(shí)。