tft每日頭條

 > 生活

 > 學習c語言指針

學習c語言指針

生活 更新时间:2024-11-26 12:34:27
起因

函數的入口是地址,所以是可以用一個指針去指向這個地址的.當然剛開始使用函數指針的時候,感覺是很怪異的.多用幾次就好了,要有一個适應的過程.

如何聲明一個函數指針

#include <stdio.h> //函數聲明 int add(int a,int b); int add(int a,int b) { return a b; } int main(int agc,char *argv[]) { //如何聲明一個函數指針,假設要接收add的函數的指針 //1. 先寫出接收的函數聲明,改一下函數名 //int calc(int a,int b); //2. 用括号将函數名 //int (calc)(int a,int b); //3. 既然函數指針,是一個指針,在函數名加*号是少不了的 int (*calc)(int a,int b); calc = add; int sum = calc(10,20); printf("sum=%d\n",sum); return 0; }

函數指針作為參數使用

#include <stdio.h> int add(int a,int b); int sub(int a,int b); //函數指針作為參數 int calc(int (*fp)(int a,int b),int a,int b); int add (int a,int b) { return a b; } int sub(int a,int b) { return a - b; } int calc(int (* fp)(int a,int b),int a,int b) { return (fp)(a,b); } int main(int argc,char *argv[]) { int a,b; printf("請輸入兩個數(10 20)\n"); scanf("%d %d",&a,&b); //将函數指針作為參數傳入函數 printf("調用add函數結果:%d\n",calc(add,a,b)); printf("調用sub函數結果:%d\n",calc(sub,a,b)); return 0; }

學習c語言指針(學習c語言的函數指針)1

函數指針作為參數使用

函數指針作為返回類型

#include <stdio.h> //函數聲明 int add(int a,int b); int sub(int a,int b); //函數聲明,有三個參數,一個函數指針,剩下兩個是int類型的參數 int calc(int (*fp)(int a,int b),int a,int b); //函數指針作為函數的返回類型使用 //函數聲明,返回一個有2個參數函數指針,參數為char類型 int (*selected(char c))(int a,int b); int add(int a,int b) { return a b; } int sub(int a,int b) { return a - b; } int calc(int (*fp)(int a,int b),int a,int b) { return (*fp)(a,b); } int (*selected(char c))(int a,int b) { switch(c) { case ' ': return add; case '-': return sub; } } int main(int argc, const char * argv[]) { printf("輸入一個計算(10 20)\n"); int a,b; char c; int (*pf)(int ,int); scanf("%d %c %d",&a,&c,&b); pf = selected(c); int sum = pf(a,b); printf("%d %c %d = %d\n",a,c,b,sum); return 0; }

學習c語言指針(學習c語言的函數指針)2

函數指針作為函數的返回類型使用

如果您覺得對您有用的話,可以點個贊或者加個關注,歡迎大家一起進行技術交流

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved