一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

深入解析C語言聲明

 e3399 2011-06-03

如果說C語言聲明很簡單的人不是牛人就是還沒入門。本文來講解C語言的聲明的一些基本內(nèi)容,很多內(nèi)容參考《c專家編程》。首先由一個最簡單的問題引入,你知道 int * p[5] 和 int (*p)[5] 的區(qū)別在哪里嗎?把后面的答案遮到,想想。也許你知道反正一個是含有五個指向整型的指針元素的指針數(shù)組,另一個是指向一個擁有5個整型元素的數(shù)組的指針,具體呢?

int *p[5]是一個含有五個整型指針的數(shù)組,int(*p)[5]是一個指向5個整型元素的數(shù)組指針。如果你能分清楚,恭喜你,你起碼是入門級以上的水平。那這個呢, char * const *(*next)()?

如果你能把上面這句聲明清清楚楚明明白白的說出來,下面你不用看了,下面的東西對你來說都是廢話。

首先我們需要理解C語言的聲明的優(yōu)先級規(guī)則,如下:

A 聲明從它的名字開始讀取,然后按照優(yōu)先級順序來依次讀取。

B 優(yōu)先級從高到底依次是:

B.1 生命中被括號括起來的那部分

B.2 后綴操作符

括號()表示這是一個函數(shù),而方括號[]表示這是一個數(shù)組

B.3  前綴操作符: 星號*表示 指向...的指針

C 如果const在指針星號前他作用于指針指向的變量,如果const在指針星號后他作用于指針

另一種說法是,const修飾的是它前面的類型,如果它前面沒有類型則修飾的是緊跟其后的類型

如 const int * a; int const * a; int * const a;前兩個const在*之前,指針所指向的變量是只讀,最后一個是指針本身只讀。

我們開始解析上面的聲明

適用規(guī)則 解釋

A 首先,看變量名"next",并注意到它直接被括號所括住

B.1 所以先把括號里面的東西作為一個整體,得出"next是一個指向...的指針"

B 然后考慮括號外面的東西,在星號前綴和括號后綴之間做出選擇

B.2 規(guī)則告訴我們優(yōu)先級較高的是右邊的函數(shù)括號,所以得出"next是一個函數(shù)指針,指向一個返回...的函數(shù)" 

B.3 然后,處理前綴"*",得出指針所指的內(nèi)容

C 最后,把"char * const"解釋為指向字符的常量指針

所以綜上所述,這個式子的真正的含義是:next是一個指針,它指向一個函數(shù),該函數(shù)返回另一個指針,該指針指向一個類型為char的常量指針。

其實理解這個最基本的優(yōu)先級是需要理解的運算符的優(yōu)先級:如下順序

操作符 結(jié)合性

() [] -> . 左到右

! - ++ -- + - * & sizeof 右到左

* / % 左到右

+ - 左到右

<< >> 左到右

< <= > >= 左到右

== != 左到右

& 左到右

^ 左到右

| 左到右

&& 左到右

|| 左到右

?: 右到左

= += -= *=  /= %= ^= |= <<= >>=  到左

, 左到右


原文來源:http://blog.csdn.net/huiguixian/archive/2011/05/14/6419261.aspx

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久国产亚洲精品成人| 九九热国产这里只有精品| 91精品国产综合久久不卡| 久久中文字人妻熟女小妇| 精品少妇人妻av一区二区蜜桃| 激情爱爱一区二区三区| 国产又猛又大又长又粗| 日韩欧美第一页在线观看| 性感少妇无套内射在线视频| 在线日本不卡一区二区| 精品亚洲一区二区三区w竹菊| 午夜国产成人福利视频| 不卡一区二区高清视频| 日韩欧美第一页在线观看| 精品国产av一区二区三区不卡蜜| 国产福利一区二区久久| 亚洲精品一区二区三区免 | 国产无摭挡又爽又色又刺激| 91精品国产综合久久福利| 久久精品国产在热久久| 99久久精品视频一区二区| 日韩欧美一区二区不卡视频| 久久精品国产一区久久久| 国产女优视频一区二区| 在线观看日韩欧美综合黄片| 人妻内射在线二区一区| 亚洲av熟女国产一区二区三区站| 人妻巨大乳一二三区麻豆| 亚洲熟女一区二区三四区| 日韩精品综合免费视频| 美女激情免费在线观看| 日韩不卡一区二区在线| 免费观看在线午夜视频| 国产精品国产亚洲看不卡| 久久99亚洲小姐精品综合| 少妇成人精品一区二区| 内用黄老外示儒术出处| 国产精品流白浆无遮挡| 暴力性生活在线免费视频| 在线一区二区免费的视频| 日韩欧美一区二区不卡视频|