C語言中函數(shù)指針的三種使用方法總結(jié)
更新時間:2017年10月05日 09:53:20 作者:CharlinGod
這篇文章主要介紹了 C語言中函數(shù)指針的三種使用方法總結(jié)的相關(guān)資料,希望通過本文大家能夠徹底掌握指針的使用方法,需要的朋友可以參考下
C語言中函數(shù)指針的三種使用方法總結(jié)
在這里分享一下自己的心得,希望和大家一起分享技術(shù),如果有什么不足,還請大家指正。寫出這篇目的,就是希望大家一起成長,我也相信技術(shù)之間沒有高低,只有互補,只有分享,才能使彼此更加成長。
定義方式:int (*p)(int x, int y);
實現(xiàn)代碼:
#include <stdio.h>
int sum(int x, int y){
return x + y;
}
int reduce(int x, int y){
return x - y;
}
int multiply(int x, int y){
return x * y;
}
float divide(int x, int y){
if(y ==0)
return 0;
else
return x *1.0f/ y;
}
struct Student{
int age;
float weight;
char *name;
void(*studentP());
}
int main(int argc, const char * argv[])
{
// 1.定義函數(shù)指針
int (*p)(int x, int y);
// 2.初始化
p = sum;
// 3.賦值
int s = p(3,2);
// 4.打印
printf("%d\n",s);//=5;
//--------------
printf("請輸入數(shù)字1,2,3,4\n");
int num;
scanf("%d",&num);
switch (num) {
case 1:
p = sum;
break;
case 2:
p = reduce;
break;
case 3:
p = multiply;
break;
case 4:
p = divide;
break;
}
int result = p(22,2);
printf("%d\n",result);
//結(jié)構(gòu)體:
struct Student stu = (22,88,"tom",studp);
printf("結(jié)構(gòu)體長度=%d",sizeof(stu));
//1.
stu.studp;
//2.
struct stu* stp = &stu;
(*stp).studp;
//3.
stp -> studp;
return 0;
}
如有疑問請留言或到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
C++使用boost::lexical_cast進行數(shù)值轉(zhuǎn)換
這篇文章介紹了C++使用boost::lexical_cast進行數(shù)值轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
用標準c++實現(xiàn)string與各種類型之間的轉(zhuǎn)換
這個類在頭文件中定義, < sstream>庫定義了三種類:istringstream、ostringstream和stringstream,分別用來進行流的輸入、輸出和輸入輸出操作。另外,每個類都有一個對應的寬字符集版本2013-09-09
C++中memcpy和memmove的區(qū)別總結(jié)
這篇文章主要介紹了C++中memcpy和memmove的區(qū)別總結(jié),這個問題經(jīng)常出現(xiàn)在C++的面試題目中,需要的朋友可以參考下2014-10-10
C語言函數(shù)指針數(shù)組實現(xiàn)計算器功能
這篇文章主要通過C語言函數(shù)指針數(shù)組實現(xiàn)了計算器的功能,是一個很好而且流程詳細的小例子,感興趣的新手朋友們可以自己動手也寫一遍2022-04-04

