久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

C語言:指針函數和函數指針

作者:xuchen   來源:xuchen的blog   點擊數:  更新時間:2014年05月28日   【字體:
1、指針函數:
函數返回值可以是 int char float等,當然也可以是地址值,那么函數返回值是地址值得函數就定義為指針函數。即此函數的類型為指針類型,就是說改函數的返回值是指針類型。既然函數是指針類型那么其返回值必須用相同類型的指針變量來接受了。
如:
int *Add();
int *p;
===> p = Add();(切記 函數返回的是地址值)
2、函數指針:
指針變量可以指向變量地址,數組,字符串,自然也可以指向函數了。已知每個函數在編譯的時候,系統會分配給函數一個入口地址,函數名表示這個入口地址,定義指向函數的指針變量稱之為函數的指針變量。
如:
float fun(int,int);
float (*p)();
p=fun;
用函數指針變量調用函數。形式為:(*函數指針變量名)(實參表)舉例如下:
int i=5;
char ch ='a';
float fun(int char),(*p)();
p=fun;
(*p)(i,ch);
上面五行程序等價于:
int i=5;
char ch ='a';
float fun(int char);
fun(i,ch);
3、運算符的優先級("*"VS"[]")
通常在c語言的定義中,運算符優先級別的高低將會決定不同的含義。例如int *p[4]和int(*p)[4]的區別。
對于int *p[4],顯然[]的優先級高于*,且[]的運算方向是自左向右的即與符號左邊的變量“組合”,相反*的運算方向是自右向左的即與運算符右邊的變量“組合”。那么可以知道int *p[4]首先是一個大小為4的數組即p[4].然后int *作為補充說明,說明該數組的每一個元素是指向整型類型的指針。
而int(*p)[4]中,()和[]運算級別相同,但考慮自左向右可以知道int(*p)[4]首先是一個指針,然后該指針p指向一個長度為4的整型數組。
關閉窗口

相關文章

主站蜘蛛池模板: 九九视频在线免费观看 | 日韩在线不卡 | 亚洲精品综合 | 免费看大片a | 国产女优在线 | 久久精品国产视频 | 中文字幕在线免费 | 日韩欧美在线视频观看 | 日韩精品一区在线观看 | 日韩av毛片 | 日韩av不卡在线 | 亚洲免费小视频 | 日韩精品免费看 | 日韩综合久久 | 91成人在线视频 | 伊久久 | 在线观看的av网站 | 182tv午夜| 校园春色综合网 | 免费色片 | 国产一级一片免费播放放a 男男成人高潮片免费网站 精品视频在线观看 | 狠狠干天天干 | 国产一区二区中文字幕 | 在线天堂视频 | 亚洲www啪成人一区二区麻豆 | 中文字幕在线免费视频 | 国产日韩综合 | 中文字幕在线视频观看 | 亚洲一级在线 | 亚洲国产精品久久久久 | 成人伊人网| 人人超碰在线 | 日韩一区二区三区在线播放 | 在线免费看a | www超碰| 一区二区三区四区在线 | 亚洲高清在线播放 | 黄色一级片黄色一级片 | 国产一区二区久久 | 中文字幕一区二区三区乱码 | 日韩不卡免费视频 |