chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

函數(shù)指針和指針函數(shù)是不是一個(gè)東西?

學(xué)益得智能硬件 ? 來(lái)源:學(xué)益得智能硬件 ? 2024-01-03 16:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

函數(shù)指針和指針函數(shù)是不是一個(gè)東西?

這兩個(gè)我們之前都有講過,但是并沒有放在一起比較過。

函數(shù)指針的本質(zhì)是指針,就跟整型指針、字符指針一樣,函數(shù)指針指向的是一個(gè)函數(shù)。

每個(gè)函數(shù)在內(nèi)存中都會(huì)有一個(gè)地址,函數(shù)調(diào)用就是跳轉(zhuǎn)到這個(gè)地址開始執(zhí)行,而函數(shù)指針就是記錄這個(gè)地址的變量。

026f24e4-aa13-11ee-8b88-92fbcf53809c.png ?

定義起來(lái)稍微有點(diǎn)麻煩:

#include 


inttest(inta)
{
    return a;
}


int main()
{
    int (*p)(int) = test;
    
    return 0;
}
比如test函數(shù),想要記錄他的地址,可以這樣定義指針p:
int (*p)(int) = test;
p是個(gè)指針,指向函數(shù),函數(shù)有一個(gè)int類型的參數(shù),函數(shù)的返回值是int。

調(diào)用函數(shù)的時(shí)候,不僅可以通過函數(shù)名來(lái)調(diào)用,也可以通過函數(shù)指針p來(lái)調(diào)用:
test(1);


p(1);
函數(shù)指針有什么用?

他的用處很大,比如C語(yǔ)言里面的回調(diào)函數(shù),或者在結(jié)構(gòu)體里面存放函數(shù),都可以用函數(shù)指針來(lái)解決,不清楚的,可以翻翻以前的視頻。

指針函數(shù)的本質(zhì)是函數(shù),就像整型函數(shù)返回的是整型一樣,指針函數(shù)返回的是指針。

于是我們可以隨手寫一個(gè)數(shù)組,返回?cái)?shù)組的名字,因?yàn)閿?shù)組名就是地址。
int *test()
{
    int array[5] = {0};
    
    return array;
}
這是一個(gè)典型的錯(cuò)誤,切記不能返回局部變量的地址,因?yàn)楹瘮?shù)調(diào)用完畢,內(nèi)存釋放,即使返回了這個(gè)地址,也不能使用。

可以返回堆空間地址,也可以返回全局變量地址,或者是靜態(tài)變量地址都可以,這種返回地址的函數(shù)就叫指針函數(shù)。

那把這兩個(gè)概念結(jié)合起來(lái)會(huì)怎么樣?

可以,就叫指針函數(shù)指針:
int *(*p)() = test;
意思就是定義一個(gè)指針,讓他指向剛才的指針函數(shù),這就是C語(yǔ)言中的復(fù)雜類型聲明,開發(fā)中確實(shí)很少會(huì)用到,但是筆試中出現(xiàn)的概率高達(dá)80%,所以,不要覺得它沒用,想要學(xué)好C語(yǔ)言,務(wù)必得學(xué)會(huì)分析。








審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)指針
    +關(guān)注

    關(guān)注

    2

    文章

    57

    瀏覽量

    4073
  • 指針函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    2947

原文標(biāo)題:兩分鐘來(lái)搞懂函數(shù)指針和指針函數(shù)

文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    函數(shù)指針的使用簡(jiǎn)述

    函數(shù)指針在Linux內(nèi)核和C語(yǔ)言開發(fā)中用的非常多,而且在設(shè)計(jì)操作系統(tǒng)的時(shí)候也會(huì)用到,因此這里將詳細(xì)講解函數(shù)指針。既然函數(shù)
    的頭像 發(fā)表于 09-09 08:56 ?2485次閱讀
    <b class='flag-5'>函數(shù)</b><b class='flag-5'>指針</b>的使用簡(jiǎn)述

    函數(shù)指針指針函數(shù)的概念

    不少朋友會(huì)混淆“函數(shù)指針”和“指針函數(shù)”這兩個(gè)概念,本文詳細(xì)介紹下。
    發(fā)表于 03-09 10:49 ?1554次閱讀

    文詳解函數(shù)指針與回調(diào)函數(shù)

    函數(shù)指針是指向函數(shù)指針變量。它允許我們將函數(shù)作為參數(shù)傳遞給其他函數(shù)或?qū)?/div>
    發(fā)表于 08-22 10:36 ?811次閱讀

    指針作為函數(shù)參數(shù)

    指針作為函數(shù)參數(shù) 大多數(shù)C程序員開始使用指針時(shí)是用它們實(shí)現(xiàn)函數(shù)的參數(shù),所謂可變參數(shù)。為了理解可變參數(shù)是如何工作的,我們看看在C語(yǔ)言中如何執(zhí)行
    發(fā)表于 07-29 11:49 ?2904次閱讀

    函數(shù)指針指針函數(shù)定義

    函數(shù)指針指針函數(shù),C語(yǔ)言學(xué)習(xí)中最容易混淆的些概念,好好學(xué)習(xí)吧
    發(fā)表于 01-11 16:44 ?0次下載

    C語(yǔ)言指針函數(shù)函數(shù)指針詳細(xì)介紹

    C語(yǔ)言指針函數(shù)函數(shù)指針詳細(xì)介紹。。。。。。。
    發(fā)表于 03-04 15:27 ?5次下載

    c語(yǔ)言函數(shù)指針定義,指針函數(shù)函數(shù)指針的區(qū)別

     往往,我們提到指針函數(shù)函數(shù)指針的時(shí)候,就有很多人弄不懂。下面就由小編詳細(xì)為大家介紹C語(yǔ)言中函數(shù)
    發(fā)表于 11-16 15:18 ?3944次閱讀

    ARM的函數(shù)指針指針函數(shù)的區(qū)別和用法

    在學(xué)習(xí)arm過程中發(fā)現(xiàn)這“指針函數(shù)”與“函數(shù)指針”容易搞錯(cuò),所以今天,我自己想次把它搞清楚,找了
    的頭像 發(fā)表于 06-20 10:08 ?3938次閱讀

    理解函數(shù)指針、函數(shù)指針數(shù)組、函數(shù)指針數(shù)組的指針

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

    C語(yǔ)言-內(nèi)聯(lián)函數(shù)、遞歸函數(shù)、指針函數(shù)

    這篇文章介紹C語(yǔ)言的內(nèi)聯(lián)函數(shù)、遞歸函數(shù)、函數(shù)指針指針函數(shù)、局部地址、const關(guān)鍵字、exte
    的頭像 發(fā)表于 08-14 10:03 ?2211次閱讀

    指針進(jìn)階第五站:函數(shù)指針

    定義個(gè)函數(shù)指針,指向的函數(shù)有兩個(gè)int形參并且返回
    發(fā)表于 08-17 15:58 ?767次閱讀

    如何使用函數(shù)指針

    在程序中定義個(gè)函數(shù),則編譯時(shí)系統(tǒng)就會(huì)為這段代碼分配段存儲(chǔ)空間,這段存儲(chǔ)空間的首地址稱為函數(shù)的地址,且
    的頭像 發(fā)表于 03-30 15:09 ?1214次閱讀

    函數(shù)指針的基本概念和語(yǔ)法

    函數(shù)指針種非常強(qiáng)大的編程工具,它可以讓我們以更加靈活的方式編寫程序。在本文中,我們將介紹 8 個(gè)函數(shù)
    的頭像 發(fā)表于 12-12 09:33 ?898次閱讀

    函數(shù)指針與回調(diào)函數(shù)的應(yīng)用實(shí)例

    通常我們說的指針變量是指向個(gè)整型、字符型或數(shù)組等變量,而函數(shù)指針是指向函數(shù)。
    的頭像 發(fā)表于 03-07 11:13 ?759次閱讀
    <b class='flag-5'>函數(shù)</b><b class='flag-5'>指針</b>與回調(diào)<b class='flag-5'>函數(shù)</b>的應(yīng)用實(shí)例

    面試常考+1:函數(shù)指針指針函數(shù)、數(shù)組指針指針數(shù)組

    在嵌入式開發(fā)領(lǐng)域,函數(shù)指針、指針函數(shù)、數(shù)組指針指針數(shù)組是
    的頭像 發(fā)表于 08-10 08:11 ?1736次閱讀
    面試???1:<b class='flag-5'>函數(shù)</b><b class='flag-5'>指針</b>與<b class='flag-5'>指針</b><b class='flag-5'>函數(shù)</b>、數(shù)組<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>數(shù)組