【C語言經典面試題】函數指針數組的定義是怎么樣的?
經典面試題,有必要了解下!
1 問題描述
C語言的函數指針定義有一定的規則,那么函數指針數組呢?它應該如何定義的呢?
2 示例代碼
為此寫了一段測試代碼:
?
?
#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;
}
示例代碼很簡單,
首先定義了兩個函數:test_func1和test_func2,
*然后定義了一個函數指針,typedef int (func)(int a);
隨后定義了一個函數指針數組,
最后通過函數指針數組依次調用test_func1和test_func2.
測試結果如下:

3 總結
- 函數指針的定義,可以借助typedef來實現;
- 當使用typedef定義完函數指針后,它就相當于一個新數據類型,直接使用它來定義一個數組即可。
4 更多分享
[架構師李肯]
架構師李肯 ( 全網同名 ),一個專注于嵌入式IoT領域的架構師。有著近10年的嵌入式一線開發經驗,深耕IoT領域多年,熟知IoT領域的業務發展,深度掌握IoT領域的相關技術棧,包括但不限于主流RTOS內核的實現及其移植、硬件驅動移植開發、網絡通訊協議開發、編譯構建原理及其實現、底層匯編及編譯原理、編譯優化及代碼重構、主流IoT云平臺的對接、嵌入式IoT系統的架構設計等等。擁有多項IoT領域的發明專利,熱衷于技術分享,有多年撰寫技術博客的經驗積累,堅信【知識改變命運,技術改變世界】!
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
183文章
7645瀏覽量
146006 -
嵌入式技術
+關注
關注
10文章
367瀏覽量
43530 -
函數
+關注
關注
3文章
4419瀏覽量
67740 -
指針
+關注
關注
1文章
484瀏覽量
71934 -
數組
+關注
關注
1文章
420瀏覽量
27424
發布評論請先 登錄
相關推薦
熱點推薦
函數指針及指針函數的區別
在學習arm過程中發現這“指針函數”與“函數指針”容易搞錯,所以今天,我自己想一次把它搞清楚,找了一些資料,和大家的一些總結,整理到此。和大家分享。
首先它們之間的
發表于 12-12 06:34
人工智能工程師高頻面試題匯總:循環神經網絡篇(題目+答案)
后臺私信雯雯老師,備注:循環神經網絡,領取更多相關面試題隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以
用30道電子工程師面試題來拷問墮落的你...
今天用30道電子工程師面試題來拷問墮落的你,你能扛住第幾題?1、下面是一些基本的數字電路知識問題,請簡要回答之。(1)什么是Setup和Hold時間?答:Setup/HoldTime用于測試芯片
硬件工程師面試必看試題(經典)
硬件工程師面試試題
模擬電路
1、基爾霍夫定理的內容是什么?(仕蘭微電子)
2、平板電容公式(C=εS/4πkd)。(未知)
3、最基本的如三極管曲線特性。(未知)
4、描述反饋電路的概念
發表于 04-21 15:36
【C語言經典面試題】函數指針數組的定義是怎么樣的?
評論