《黑客基礎—C語言編程篇—14.函數的說明》要點:
本文介紹了黑客基礎—C語言編程篇—14.函數的說明,希望對您有用。如果有疑問,可以聯系我們。
這篇文章有基礎的人看很簡單,所以,有基礎的人就可以跳過了.看看也可以,我以前學的,好久沒用了,不知道有沒有錯的地方.并且,說明一下,《黑客基礎—C語言編程篇》針對的是C初學者,小白,有基礎的人看有點簡單.我建議你們可以先去學學linux,這樣可以為以后用kali打下一個好的基礎.
今天不講那些很簡單的函數,我們把今天的內容難度提高那么一點點,就是一點點,相信只要每次我們學習或者工作都努力那么一點點,那么保持下去,就會好很多.(小編我很崇拜星爺,星爺拍戲就是把每個環節都多做好那么“一點點”,這段話向精神偶像致敬!).
切入主題.
請問:能否把函數的名字作為實參?
答:當然可以!別忘了我們還有指針,只要聲明一個指向函數的指針,那么就可以用指針來代替函數的入口.
再問:如何聲明一個函數指針?有哪些注意事項?
再答:函數指針的類型是由函數的返回值來確定的,假如一個自定義函數,你設置的返回值類型是字符型,那么,char (*f) ( )=jack; 就可以了,其中,jack是之前自定義好的函數,f是指向函數的指針名.要注意的地方便是括號,是兩個括號,而jack后面沒有括號.
上面是聲明的時候要注意的,下面則是使用的時候容易混淆的.
假如,要使用 jack()自定義函數,它的功能暫且不必要知道,a是變量,那么如何使用指針呢?如下:
(*f)(a);
f(a);
上面兩者的功能就相當于 jack(a);很清晰吧!
那么,由此延伸,再反過來問:
int a[10];是聲明一個數組對吧?那你能聲明一個函數,這個函數里面有形參,而且不用一種聲明方式嗎?
依舊回答:可以!
int fun(a[]);合格
int fun(a[10]);合格
int fun(*a);依舊合格!
這里小編主要是提醒大家,數組名字就相當于一個地址,以上的三種聲明都是可以的,時間一長,如果老不消C,那么就會忘記.
最后,在彌補一點:
int jack(int , double);聲明一個自定義函數的時候,你看括號里面,這種情況就意味著形參只能是變量,而不克不及是指針或者數組.
而且,形參和實參是占用不同的內存,并不是說形參就不占用內存,如果不占用內存,那程序怎么計算你形參對應的程序呢?
今天的文章就到這了,C初學者沒事可以看看我的這類文章,對你們的學習應該有贊助,而我也忘了不少,通過這種方式,我也能回憶回憶.以后我都會在文章中說明的.
如果喜歡,就存眷我吧!謝謝支持.
維易PHP學堂逐步分享更多《黑客基礎—C語言編程篇—14.函數的說明》相關教程。歡迎交流
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9121.html