前面我們學(xué)習(xí)了函數(shù)指針,那么接下來指針函數(shù)就簡單多了,所謂指針函數(shù),本質(zhì)還是一個(gè)函數(shù),只不過返回值為指針類型
比如一個(gè)函數(shù)定義如下:
int *Add(int a,int b) { int *p=(int *)malloc(4); *p=a+b; return p; }
大家可以看到,這個(gè)函數(shù)是一個(gè)求兩個(gè)數(shù)字和的函數(shù),需要兩個(gè)整數(shù)做參數(shù),計(jì)算這兩個(gè)數(shù)的和,放到一個(gè)動(dòng)態(tài)內(nèi)存p中,然后返回p作為結(jié)果,可以看到p是一個(gè)指針類型,這就是一個(gè)返回值為指針的函數(shù),即指針函數(shù)。怎么樣,大家理解了嗎?
理解之后大家可以上機(jī)驗(yàn)證這個(gè)代碼加深理解,完整代碼如下:
#include<stdio.h> int *Add(int a,int b) { int *p=(int *)malloc(4); *p=a+b; return p; } int main() { int *p; p=Add(10,25); printf("%d\n",*p); free(p); return 0; }
請(qǐng)大家上機(jī)試驗(yàn),加深理解。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程