最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡(jiǎn)要說(shuō)明C語(yǔ)言中指針函數(shù)與函數(shù)指針的區(qū)別

 更新時(shí)間:2016年04月25日 16:28:00   作者:hzy3774  
這篇文章主要介紹了C語(yǔ)言中指針函數(shù)與函數(shù)指針的區(qū)別,指針函數(shù)和函數(shù)指針是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

指針函數(shù)一般是指返回指針的函數(shù);

#include <stdio.h> 
 
int* fun(int *a) 
{ 
  return a; 
} 
 
int main(int argc, char **argv) 
{ 
  int a = 3; 
  printf("%d", *(fun(&a))); 
  return 0; 
} 

 
函數(shù)指針是表示指向函數(shù)開(kāi)始地址的指針:
首先要了解函數(shù)的調(diào)用過(guò)程:

#include <stdio.h> 
 
int fun(int i) 
{ 
  return i + 1; 
} 
 
int main(int argc, char **argv) 
{ 
  int r; 
  //r = fun(5); 
  r = (*fun)(5);   //調(diào)用方式 
  printf("%d\n", r); 
  return 0; 
} 

函數(shù)可以用r = (*fun)(5);來(lái)調(diào)用,說(shuō)明函數(shù)名其實(shí)是一個(gè)指針,
通過(guò)(*fun)來(lái)尋址。所以我們就可以定義一個(gè)指針

#include <stdio.h> 
 
int fun(int i) 
{ 
  return i + 1; 
} 
 
int main(int argc, char **argv) 
{ 
  int r; 
  int (*funP)(int);  //聲明指針 
  //funP = fun;    //給指針賦值 
  funP = &fun; 
  r = funP(5); 
  printf("%d\n", r); 
  return 0; 
} 

 
所以,給函數(shù)指針賦值也有兩種方式;
同樣,通過(guò)函數(shù)指針調(diào)用函數(shù)的方式也有兩種:

#include <stdio.h> 
 
int fun(int i) 
{ 
  return i + 1; 
} 
 
int main(int argc, char **argv) 
{ 
  int r; 
  int (*funP)(int);  //聲明指針 
  funP = fun;   //給指針賦值 
  //r = funP(5); 
  r = (*funP)(5);   //調(diào)用 
  printf("%d\n", r); 
  return 0; 
} 

也就是說(shuō),除了聲明的地方,fun()與(*fun)()的作用是一樣的。
這樣,也就讓C語(yǔ)言容易實(shí)現(xiàn)類似于回調(diào)函數(shù)的結(jié)構(gòu):

#include <stdio.h> 
 
int funA(int i) 
{ 
  return i + 1; 
} 
 
int funB(int i) 
{ 
  return i - 1; 
} 
 
void fun(int (*funP)(int), int i) 
{ 
  printf("%d\n", funP(i)); 
} 
 
int main(int argc, char **argv) 
{ 
  int (*funP)(int);  //聲明指針 
  funP = funA;    //給指針賦值 
  //funP = funB;   //給指針賦值 
 
  fun(funP, 5);    //調(diào)用 
  return 0; 
} 

 在fun()函數(shù)里,它做的只是在某個(gè)時(shí)候調(diào)用一個(gè)funP指針指向的函數(shù),至于是哪個(gè)函數(shù),在fun函數(shù)的定義處還無(wú)從得知;直到將funA賦給函數(shù)指針funP,funP具體要做什么功能,才得以確定。
也就是說(shuō),main函數(shù)決定fun函數(shù)需要幫它實(shí)現(xiàn)什么函數(shù)代碼,但是fun何時(shí)調(diào)用以及是否調(diào)用main給他的函數(shù),那是由fun()來(lái)決定。

相關(guān)文章

  • C++11 移動(dòng)構(gòu)造函數(shù)的使用

    C++11 移動(dòng)構(gòu)造函數(shù)的使用

    本文主要介紹了C++11 移動(dòng)構(gòu)造函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 嵌入式C程序優(yōu)質(zhì)編寫全面教程規(guī)范

    嵌入式C程序優(yōu)質(zhì)編寫全面教程規(guī)范

    這是一年前我為公司內(nèi)部寫的一個(gè)文檔,旨在向年輕的嵌入式軟件工程師們介紹如何在裸機(jī)環(huán)境下編寫優(yōu)質(zhì)嵌入式C程序。感覺(jué)是有一定的參考價(jià)值,所以拿出來(lái)分享,拋磚引玉
    2022-04-04
  • Cmake中強(qiáng)大的輸出函數(shù)message示例解析

    Cmake中強(qiáng)大的輸出函數(shù)message示例解析

    這篇文章主要介紹了Cmake中強(qiáng)大的輸出函數(shù)message解析,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • C語(yǔ)言實(shí)現(xiàn)走迷宮

    C語(yǔ)言實(shí)現(xiàn)走迷宮

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)走迷宮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • C++實(shí)現(xiàn)LeetCode(148.鏈表排序)

    C++實(shí)現(xiàn)LeetCode(148.鏈表排序)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(148.鏈表排序),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語(yǔ)言代碼中調(diào)用C++代碼的方法示例

    C語(yǔ)言代碼中調(diào)用C++代碼的方法示例

    這篇文章主要介紹了C語(yǔ)言代碼中調(diào)用C++代碼的方法示例,文中也介紹了C++代碼調(diào)用C代碼的方法,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • C語(yǔ)言平衡二叉樹(shù)詳解

    C語(yǔ)言平衡二叉樹(shù)詳解

    這篇文章主要介紹了C語(yǔ)言平衡二叉樹(shù)的相關(guān)資料,需要的朋友可以參考下,小編覺(jué)得這篇文章寫的還不錯(cuò),希望能夠給你帶來(lái)幫助
    2021-11-11
  • VC++6.0中創(chuàng)建C++項(xiàng)目的實(shí)現(xiàn)步驟

    VC++6.0中創(chuàng)建C++項(xiàng)目的實(shí)現(xiàn)步驟

    本文主要介紹了VC++6.0中創(chuàng)建C++項(xiàng)目的實(shí)現(xiàn)步驟,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • C++ 處理中文符號(hào)實(shí)例詳解

    C++ 處理中文符號(hào)實(shí)例詳解

    這篇文章主要介紹了C++ 處理中文符號(hào)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • C語(yǔ)言數(shù)據(jù)結(jié)構(gòu) 雙向鏈表的建立與基本操作

    C語(yǔ)言數(shù)據(jù)結(jié)構(gòu) 雙向鏈表的建立與基本操作

    這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu) 雙向鏈表的建立與基本操作的相關(guān)資料,需要的朋友可以參考下
    2017-03-03

最新評(píng)論

建宁县| 自治县| 三原县| 文登市| 白朗县| 思茅市| 土默特右旗| 开封县| 罗城| 东阿县| 永靖县| 湘潭县| 微博| 台中县| 富民县| 高陵县| 平原县| 江孜县| 满洲里市| 突泉县| 寿宁县| 新宁县| 陇西县| 通州区| 凤阳县| 建平县| 宜城市| 延边| 司法| 嘉义市| 曲周县| 营山县| 陆河县| 攀枝花市| 托里县| 芦溪县| 平山县| 柘城县| 怀化市| 通化县| 时尚|