久久久久久久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的整型數組。
關閉窗口

相關文章

主站蜘蛛池模板: 欧美一级网站 | chinese中国真实乱对白 | 久久亚洲天堂 | 中文字幕91 | 日韩欧美国产精品 | 三级高清| 国产精品成av人在线视午夜片 | 国产精品国色综合久久 | 国产无人区一区二区三区 | 欧美精品一区二区三区一线天视频 | 欧美精品网 | av中文字幕在线播放 | 伊人99 | 日韩在线中文 | 国产一级特黄aaa大片评分 | 午夜精品久久久 | 一级片aaa | a免费视频 | www.亚洲| 亚洲国产成人精品一区二区 | 欧美中文字幕一区二区三区亚洲 | av手机在线播放 | 亚洲毛片在线观看 | 午夜国产一级 | 国产视频观看 | 欧美专区在线 | 成人免费网站www网站高清 | 成人网av| 日韩国产精品一区二区三区 | 麻豆天堂 | 欧美日韩一区二区三区四区 | av片在线观看网站 | 日韩欧美视频网站 | 中文字幕视频在线观看 | 久久久999免费视频 999久久久久久久久6666 | 色在线视频网站 | 国产精品一级在线观看 | 一区二区三区日韩 | 欧美激情精品久久久久 | 国产一区二区在线视频 | 韩日三级|