【C語言經(jīng)典面試題】函數(shù)指針數(shù)組的定義是怎么樣的?
經(jīng)典面試題,有必要了解下!
1 問題描述
C語言的函數(shù)指針定義有一定的規(guī)則,那么函數(shù)指針數(shù)組呢?它應(yīng)該如何定義的呢?
2 示例代碼
為此寫了一段測(cè)試代碼:
?
?
#include
#include
?
int test_func1(int a)
{
return a + 1;
}
?
int test_func2(int a)
{
return a - 1;
}
?
typedef int (*func)(int a);
?
int main(int argc, const char *argv[])
{
func test_func_array[] = {test_func1, test_func2};
?
printf("test_func1: %d\\n", test_func_array[0](1));
printf("test_func2: %d\\n", test_func_array[1](1));
?
return 0;
}
示例代碼很簡(jiǎn)單,
首先定義了兩個(gè)函數(shù):test_func1和test_func2,
*然后定義了一個(gè)函數(shù)指針,typedef int (func)(int a);
隨后定義了一個(gè)函數(shù)指針數(shù)組,
最后通過函數(shù)指針數(shù)組依次調(diào)用test_func1和test_func2.
測(cè)試結(jié)果如下:

3 總結(jié)
- 函數(shù)指針的定義,可以借助typedef來實(shí)現(xiàn);
- 當(dāng)使用typedef定義完函數(shù)指針后,它就相當(dāng)于一個(gè)新數(shù)據(jù)類型,直接使用它來定義一個(gè)數(shù)組即可。
4 更多分享
[架構(gòu)師李肯]
架構(gòu)師李肯 ( 全網(wǎng)同名 ),一個(gè)專注于嵌入式IoT領(lǐng)域的架構(gòu)師。有著近10年的嵌入式一線開發(fā)經(jīng)驗(yàn),深耕IoT領(lǐng)域多年,熟知IoT領(lǐng)域的業(yè)務(wù)發(fā)展,深度掌握IoT領(lǐng)域的相關(guān)技術(shù)棧,包括但不限于主流RTOS內(nèi)核的實(shí)現(xiàn)及其移植、硬件驅(qū)動(dòng)移植開發(fā)、網(wǎng)絡(luò)通訊協(xié)議開發(fā)、編譯構(gòu)建原理及其實(shí)現(xiàn)、底層匯編及編譯原理、編譯優(yōu)化及代碼重構(gòu)、主流IoT云平臺(tái)的對(duì)接、嵌入式IoT系統(tǒng)的架構(gòu)設(shè)計(jì)等等。擁有多項(xiàng)IoT領(lǐng)域的發(fā)明專利,熱衷于技術(shù)分享,有多年撰寫技術(shù)博客的經(jīng)驗(yàn)積累,堅(jiān)信【知識(shí)改變命運(yùn),技術(shù)改變世界】!
-
C語言
+關(guān)注
關(guān)注
183文章
7642瀏覽量
145114 -
嵌入式技術(shù)
+關(guān)注
關(guān)注
10文章
366瀏覽量
43342 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4413瀏覽量
67197 -
指針
+關(guān)注
關(guān)注
1文章
484瀏覽量
71727 -
數(shù)組
+關(guān)注
關(guān)注
1文章
420瀏覽量
27191
發(fā)布評(píng)論請(qǐng)先 登錄
C語言主要特點(diǎn)
C語言函數(shù)指針的六個(gè)高級(jí)的應(yīng)用場(chǎng)景
C語言回調(diào)函數(shù)原來這么簡(jiǎn)單
如何用好 C 語言函數(shù)的返回值?
函數(shù)指針及指針函數(shù)的區(qū)別
如何用函數(shù)指針調(diào)用函數(shù)
C指針的妙用分享
人工智能工程師高頻面試題匯總:循環(huán)神經(jīng)網(wǎng)絡(luò)篇(題目+答案)
用30道電子工程師面試題來拷問墮落的你...
硬件工程師面試必看試題(經(jīng)典)
函數(shù)指針的六個(gè)常見應(yīng)用場(chǎng)景
全套C語言培訓(xùn)資料—PPT課件
【面試題】人工智能工程師高頻面試題匯總:概率論與統(tǒng)計(jì)篇(題目+答案)
【C語言經(jīng)典面試題】函數(shù)指針數(shù)組的定義是怎么樣的?
評(píng)論