C语言 函数指针和指针函数区别 - C语言零基础入门教程
生活随笔
收集整理的這篇文章主要介紹了
C语言 函数指针和指针函数区别 - C语言零基础入门教程
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
- 一.函數(shù)指針和指針函數(shù)聲明的區(qū)別
- 1.函數(shù)指針
- 2.指針函數(shù)
- 二.函數(shù)指針和指針函數(shù)調(diào)用的區(qū)別
- 1.函數(shù)指針的調(diào)用
- 2.指針函數(shù)的調(diào)用
- 三.猜你喜歡
零基礎(chǔ) Python 學(xué)習(xí)路線推薦 : C/C++ 學(xué)習(xí)目錄 >> C 語(yǔ)言基礎(chǔ)入門
一.函數(shù)指針和指針函數(shù)聲明的區(qū)別
1.函數(shù)指針
函數(shù)指針,其本質(zhì)是一個(gè)指針,指向的是一個(gè)函數(shù)的地址。
基本聲明形式:返回?cái)?shù)據(jù)類型 + (*函數(shù)名) + (變量類型 1,…);
//返回int類型的函數(shù)指針 int (*fun) (int);2.指針函數(shù)
指針函數(shù),即返回指針的函數(shù),其本質(zhì)是一個(gè)函數(shù),而該函數(shù)的返回值是一個(gè)指針。
基本聲明形式:返回?cái)?shù)據(jù)類型 + * + 函數(shù)名 + (變量類型 1,…);
//返回int類型指針的指針函數(shù) int* fun(int x,int y);二.函數(shù)指針和指針函數(shù)調(diào)用的區(qū)別
1.函數(shù)指針的調(diào)用
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個(gè)人博客地址): www.codersrc.com //@File:C語(yǔ)言教程 - C語(yǔ)言 函數(shù)指針和指針函數(shù)區(qū)別 //@Time:2021/06/24 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! /******************************************************************************************/#include<stdio.h> int (*fun) (int,int); //聲明函數(shù)指針 int add(int x,int y) {return x + y; } int main() {fun = &add; //fun函數(shù)指針指向add函數(shù)printf("%d \n",fun(3,5));printf("%d \n",(*fun)(4,2));return 0; } /* 輸出: 8 6 */需要注意得是:函數(shù)指針的參數(shù)列表要和函數(shù)指針指向的函數(shù)的參數(shù)列表一致!
2.指針函數(shù)的調(diào)用
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個(gè)人博客地址): www.codersrc.com //@File:C語(yǔ)言教程 - C語(yǔ)言 函數(shù)指針和指針函數(shù)區(qū)別 //@Time:2021/06/24 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! /******************************************************************************************/#include<stdio.h> int* fun1(int* x) //傳入指針 {int* tmp = x; //指針tmp指向xreturn tmp; //返回tmp指向的地址 } int fun2(int* x) //傳入指針 {return *x; //返回x指向的地址對(duì)應(yīng)的值 } int main() {int b = 2;int* p = &b; //p指向b的地址//調(diào)用常規(guī)函數(shù)printf("func1:%d\n",*fun1(p));//輸出p指向的地址的值//調(diào)用指針函數(shù)printf("func2:%d\n",fun2(p));//輸出p指向的地址的值return 0; } /* 輸出: func1:2 func2:2 */函數(shù)指針和指針函數(shù)區(qū)別:函數(shù)指針是返回指針,指針函數(shù)是一個(gè)函數(shù),重點(diǎn)看最后兩個(gè)字即可!!!
三.猜你喜歡
未經(jīng)允許不得轉(zhuǎn)載:猿說編程 ? C 語(yǔ)言 函數(shù)指針和指針函數(shù)區(qū)別
總結(jié)
以上是生活随笔為你收集整理的C语言 函数指针和指针函数区别 - C语言零基础入门教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网格变形动画MeshTransform
- 下一篇: 标识符命名规则