女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

面試常考+1:函數指針與指針函數、數組指針與指針數組

朱老師物聯網大講堂 ? 2024-08-10 08:11 ? 次閱讀

嵌入式開發領域,函數指針、指針函數、數組指針和指針數組是一些非常重要但又容易混淆的概念。理解它們的特性和應用場景,對于提升嵌入式程序的效率和質量至關重要。

一、指針函數與函數指針

指針函數:

定義:指針函數是指返回值為指針的函數。

語法:返回值類型 *函數名(參數列表)。

示例代碼:

#include #include
int *getNumber(int a, int b) { int *result = (int *)malloc(sizeof(int)); *result = a + b; return result;}
int main() { int *sum = getNumber(3, 4); printf("Sum: %d\n", *sum); free(sum); return 0;}

應用場景:

通常用于動態內存分配的場景。比如在嵌入式系統中,需要根據不同的條件動態分配內存來存儲數據時,可以使用指針函數。它可以根據輸入的參數,在堆上分配合適大小的內存空間,并返回指向該空間的指針。

函數指針:

定義:函數指針是指向函數的指針變量。

語法:返回值類型 (*指針變量名)(參數列表)。

示例代碼:

#include
int add(int a, int b) { return a + b;}
int subtract(int a, int b){ return a - b;}
int main() { int (*funcPtr)(int, int); funcPtr = add; int result1 = funcPtr(5, 3); printf("Addition result: %d\n", result1);
funcPtr = subtract; int result2 = funcPtr(5, 3); printf("Subtraction result: %d\n", result2); return 0;}

應用場景:

事件驅動系統:在嵌入式系統中,可能會有多個不同的事件源(如按鍵、傳感器等),每個事件都對應一個處理函數。可以使用函數指針來根據不同的事件調用相應的處理函數,提高系統的靈活性和可擴展性。

回調函數:

當一個函數需要在特定的操作完成后執行另一個函數時,可以將另一個函數的指針作為參數傳遞給它。例如,在嵌入式網絡通信中,當接收到數據后,調用一個預先定義的處理數據的回調函數。

二、指針數組與數組指針

指針數組

定義:指針數組是由指針組成的數組。

語法:數據類型 *數組名[數組大小]。

示例代碼:

#include
intmain(){ char *strings[] = {"Hello", "World", "Embedded"}; for (int i = 0; i < 3; i++)????{ printf("%s\n", strings[i]); } return 0;}

應用場景:

管理多個字符串:在嵌入式系統中,如果需要處理多個字符串,可以使用指針數組。每個指針指向一個字符串的首地址,這樣可以方便地對多個字符串進行操作和管理。

動態配置不同數據類型的指針:在一些需要根據不同情況動態配置不同數據類型指針的場景下,指針數組可以發揮作用。比如根據不同的傳感器類型,配置不同的指針來獲取相應的數據。

數組指針:

定義:數組指針是指向數組的指針。

語法:數據類型 (*指針變量名)[數組大小]。

示例代碼:

#include
int main() { int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; int (*arrayPtr)[3] = arr; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("%d ", (*arrayPtr)[j]); } arrayPtr++; printf("\n"); } return 0;}

應用場景:

多維數組的參數傳遞:在嵌入式程序中,當需要將多維數組作為函數參數傳遞時,通常使用數組指針。這樣可以避免數組在傳遞過程中的降維問題,確保函數能夠正確訪問多維數組的元素。

指向動態分配的二維數組:在動態內存分配的二維數組中,數組指針可以方便地管理和訪問二維數組的元素。例如,在嵌入式圖形處理中,動態分配一個二維像素數組,使用數組指針來操作該數組。

總之,在嵌入式開發中,正確理解和運用函數指針、指針函數、數組指針和指針數組,可以使程序更加靈活、高效和易于維護。通過掌握這些概念,開發者能夠更好地應對各種復雜的嵌入式系統開發需求。

希望這篇文章能夠幫助大家理清這些容易混淆的概念及其在嵌入式中的應用場景,讓我們在嵌入式開發的道路上更進一步。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數組
    +關注

    關注

    1

    文章

    419

    瀏覽量

    26368
  • 函數指針
    +關注

    關注

    2

    文章

    57

    瀏覽量

    3932
  • 指針函數
    +關注

    關注

    0

    文章

    10

    瀏覽量

    2859
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    函數指針指針函數的概念

    不少朋友會混淆“函數指針”和“指針函數”這兩個概念,本文詳細介紹一下。
    發表于 03-09 10:49 ?1389次閱讀

    C語言中指針數組數組指針的區別

    指針數組之間存在著緊密的關系。在本文中,我們將探討指針數組的關系、指針算術和數組遍歷、多維
    發表于 08-17 15:29 ?575次閱讀

    函數指針指針函數定義

    函數指針指針函數,C語言學習中最容易混淆的一些概念,好好學習吧
    發表于 01-11 16:44 ?0次下載

    數組指針的詳細講解

    數組指針的詳細講解
    發表于 10-16 08:44 ?0次下載

    c語言函數指針定義,指針函數函數指針的區別

     往往,我們一提到指針函數函數指針的時候,就有很多人弄不懂。下面就由小編詳細為大家介紹C語言中函數指針
    發表于 11-16 15:18 ?3844次閱讀

    指針數組數組指針的區別

    這里我們區分兩個重要的概念:指針數組數組指針
    的頭像 發表于 06-29 15:30 ?2w次閱讀
    <b class='flag-5'>指針</b><b class='flag-5'>數組</b>和<b class='flag-5'>數組</b><b class='flag-5'>指針</b>的區別

    理解函數指針函數指針數組函數指針數組指針

    理解函數指針函數指針數組函數指針
    的頭像 發表于 06-29 15:38 ?1.5w次閱讀
    理解<b class='flag-5'>函數</b><b class='flag-5'>指針</b>、<b class='flag-5'>函數</b><b class='flag-5'>指針</b><b class='flag-5'>數組</b>、<b class='flag-5'>函數</b><b class='flag-5'>指針</b><b class='flag-5'>數組</b>的<b class='flag-5'>指針</b>

    單片機學習筆記————指針的第三大好處,指針作為數組函數中的輸出接口

    單片機學習筆記————指針的第三大好處,指針作為數組函數中的輸出接口
    發表于 11-26 10:51 ?1次下載
    單片機學習筆記————<b class='flag-5'>指針</b>的第三大好處,<b class='flag-5'>指針</b>作為<b class='flag-5'>數組</b>在<b class='flag-5'>函數</b>中的輸出接口

    單片機學習筆記————指針的第二大好處,指針作為數組函數中的輸入接口

    單片機學習筆記————指針的第二大好處,指針作為數組函數中的輸入接口
    發表于 11-26 10:51 ?7次下載
    單片機學習筆記————<b class='flag-5'>指針</b>的第二大好處,<b class='flag-5'>指針</b>作為<b class='flag-5'>數組</b>在<b class='flag-5'>函數</b>中的輸入接口

    二維數組數組指針以及指針數組

    二維數組數組指針以及指針數組
    的頭像 發表于 08-16 09:02 ?3046次閱讀

    C語言中什么是指針數組

    在C語言中一個數組,若其元素均為指針類型數據,稱為指針數組,也就是說,指針數組中的每一個元素都存
    的頭像 發表于 03-10 15:26 ?2158次閱讀

    數組指針不能混用的情況

    數組指針不能混用的情況? 數組指針是 C/C++ 中非常常見的特性和概念。然而,在某些情況下,數組
    的頭像 發表于 12-07 13:46 ?788次閱讀

    數組指針不相同嗎?數組指針有哪些區別

    數組就是指針指針就是數組,這樣的言論在評論區看到不下于10次。
    的頭像 發表于 12-13 16:34 ?2021次閱讀
    <b class='flag-5'>數組</b>和<b class='flag-5'>指針</b>不相同嗎?<b class='flag-5'>數組</b>和<b class='flag-5'>指針</b>有哪些區別

    函數指針指針函數是不是一個東西?

    函數指針的本質是指針,就跟整型指針、字符指針一樣,函數指針
    的頭像 發表于 01-03 16:35 ?707次閱讀
    <b class='flag-5'>函數</b><b class='flag-5'>指針</b>和<b class='flag-5'>指針</b><b class='flag-5'>函數</b>是不是一個東西?

    函數指針與回調函數的應用實例

    通常我們說的指針變量是指向一個整型、字符型或數組等變量,而函數指針是指向函數函數
    的頭像 發表于 03-07 11:13 ?564次閱讀
    <b class='flag-5'>函數</b><b class='flag-5'>指針</b>與回調<b class='flag-5'>函數</b>的應用實例