欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡要說明C語言中指針函數(shù)與函數(shù)指針的區(qū)別

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

指針函數(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ù)開始地址的指針:
首先要了解函數(shù)的調(diào)用過程:

#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);來調(diào)用,說明函數(shù)名其實(shí)是一個(gè)指針,
通過(*fun)來尋址。所以我們就可以定義一個(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ù)指針賦值也有兩種方式;
同樣,通過函數(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; 
} 

也就是說,除了聲明的地方,fun()與(*fun)()的作用是一樣的。
這樣,也就讓C語言容易實(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ù)的定義處還無從得知;直到將funA賦給函數(shù)指針funP,funP具體要做什么功能,才得以確定。
也就是說,main函數(shù)決定fun函數(shù)需要幫它實(shí)現(xiàn)什么函數(shù)代碼,但是fun何時(shí)調(diào)用以及是否調(diào)用main給他的函數(shù),那是由fun()來決定。

相關(guān)文章

  • 基于C語言實(shí)現(xiàn)迷宮游戲的示例代碼

    基于C語言實(shí)現(xiàn)迷宮游戲的示例代碼

    這篇文章主要介紹了基于C語言如何實(shí)現(xiàn)簡單的迷宮游戲,對于學(xué)習(xí)游戲開發(fā)的朋友相信有一定的借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 基于linux下C開發(fā)中的幾點(diǎn)技術(shù)經(jīng)驗(yàn)總結(jié)

    基于linux下C開發(fā)中的幾點(diǎn)技術(shù)經(jīng)驗(yàn)總結(jié)

    本篇文章是對linux下C開發(fā)中的幾點(diǎn)技術(shù)經(jīng)驗(yàn)總結(jié)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C/C++淺析鄰接表拓?fù)渑判蛩惴ǖ膶?shí)現(xiàn)

    C/C++淺析鄰接表拓?fù)渑判蛩惴ǖ膶?shí)現(xiàn)

    這篇文章主要介紹了C/C++對于鄰接表拓?fù)渑判蛩惴ǖ膶?shí)現(xiàn),鄰接表是圖的一種鏈?zhǔn)酱鎯Ψ椒ǎ鋽?shù)據(jù)結(jié)構(gòu)包括兩部分:節(jié)點(diǎn)和鄰接點(diǎn)
    2022-07-07
  • 關(guān)于AVLTree(C++實(shí)現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題

    關(guān)于AVLTree(C++實(shí)現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題

    這篇文章主要介紹了關(guān)于AVLTree(C++實(shí)現(xiàn))沒有統(tǒng)一旋轉(zhuǎn)操作的問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • C語言順序表的實(shí)現(xiàn)代碼

    C語言順序表的實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)順序表的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • C++設(shè)計(jì)模式之解釋器模式

    C++設(shè)計(jì)模式之解釋器模式

    這篇文章主要介紹了C++設(shè)計(jì)模式之解釋器模式,本文講解了什么是解釋器模式、文法規(guī)則和抽象語法樹、解釋器模式的使用場合等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • C++中string轉(zhuǎn)換為char*類型返回后亂碼問題解決

    C++中string轉(zhuǎn)換為char*類型返回后亂碼問題解決

    這篇文章主要介紹了C++中string轉(zhuǎn)換為char*類型返回后亂碼問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • C++?高精度乘法運(yùn)算的實(shí)現(xiàn)

    C++?高精度乘法運(yùn)算的實(shí)現(xiàn)

    本文主要介紹了C++?高精度乘法運(yùn)算的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 詳解C++中遞增運(yùn)算符重載的實(shí)現(xiàn)

    詳解C++中遞增運(yùn)算符重載的實(shí)現(xiàn)

    本文主要詳解運(yùn)算符重載里的遞增運(yùn)算符重載;遞增和遞減原理是一樣的,這里就只分享遞增的重載;提到遞增遞減,我們都知道又前置和后置兩種方法, 那今天就詳解一下前置遞增和后置遞增的細(xì)節(jié),拿捏遞增運(yùn)算符重載
    2022-06-06
  • C++內(nèi)存管理詳細(xì)解析

    C++內(nèi)存管理詳細(xì)解析

    這篇文章主要給大家分享的是C++內(nèi)存管理的詳細(xì)內(nèi)容學(xué)習(xí),下面文章圍繞C++內(nèi)存管理的相關(guān)資料展開具體學(xué)習(xí)內(nèi)容,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11

最新評論