www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 電子設計自動化
[導讀]作者:楊碩,華清遠見嵌入式學院講師。 C語言為我們定義了四種基本數據類型:整型,浮點型,指針以及聚合類型(數組和結構體等),在此基礎上,我們就可以聲明變量。我們平時經常說定義一個某種類型的變量,其實這樣

作者:楊碩,華清遠見嵌入式學院講師。

C語言為我們定義了四種基本數據類型:整型,浮點型,指針以及聚合類型(數組和結構體等),在此基礎上,我們就可以聲明變量。我們平時經常說定義一個某種類型的變量,其實這樣說不確切,應該說是聲明變量。

變量聲明的基本形式是:

說明符(一個或多個) 聲明表達式列表

比如說:int a, b, c, d;

C語言中對指針的聲明比較有代表性,我們來看一下:

比如聲明一個指向int型的指針a:int *a;

這個語句表示表達式*a產生的結果類型是int,而我們又知道*操作符執(zhí)行的是間接訪問操作,所以可以推斷a肯定是一個指向int的指針。

C語言在本質上是一種自由形式的語言,它給了程序員很大的空間,我們同樣可以這樣寫:int* a,這個聲明與int *a時一個意思,而且似乎更為清楚,a被聲明為類型為int*的指針(實則不然),這會誘導我們這樣聲明三個指向int型的指針:

int* a, b, c;

也許你會很自然的以為這條語句把三個變量a、b、c都聲明為指向整型的指針,但是事實上我們被它的形式愚弄了,星號實際上是表達式*a的一部分,只對這個標識符有用,a是一個指針,但是b和c都只是普通的整型而已,要聲明三指針,這樣寫是可以的:

int *a, *b, *c;

從這個簡單的例子我們可以看出C語言的聲明規(guī)則多么具有迷惑性,呵呵,這也是C語言飽受批*的地方之一,但這決定與語言本身的設計哲學,我們無法改變,要想用好C語言,我們必須掌握它的語法規(guī)則。

我們再看一個例子:

int fun();

我們都知道它把f聲明為一個函數,它的返回值是一個整數。

如果這樣寫:

int *fun();

要想推斷出它的含義,我們必須知道*fun()是如何求值的。首先執(zhí)行的是函數調用操作符(),因為它的優(yōu)先級高于間接訪問操作符*,所以fun是一個函數,它的返回值類型是一個指向整型的指針。

再看一個更為有趣的聲明:

int (*fun)();

這個聲明有兩對括號,每對括號的含義不同。第二對括號是函數調用操作符,但是第一對只起到聚組的作用。它導致間接訪問在函數調用之前進行,使fun是一個函數指針,它所指向的函數返回一個整型值。

那么現在這個聲明應該很容易分析出來了

int *(*fun)();

fun還是一個函數指針,只是所指向的函數返回的是一個整型指針。

先寫到這里,對C語言的聲明之旅才剛剛開始,下回我們將在中級篇里討論更有趣的話題!

“本文由華清遠見http://www.embedu.org/index.htm提供”



來源:華清遠見0次

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分,通常嵌入式系統是一個控制程序存儲在ROM中的嵌入式處理器控制板,事實上所有帶有數字接口的設備,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個程序實現整...

關鍵字: 嵌入式 語言 技術

語音編碼器的主要功能就是把用戶語音的PCM(脈沖編碼調制)樣值編碼成少量的比特(幀)。這種方法使得語音在連路產生誤碼、網絡抖動和突發(fā)傳輸時具有健壯性(Robustness)。在接收端,語音幀先被誤碼為PCM語音樣值,然后...

關鍵字: 語音編碼器 PCM 語言

模糊控制算法(理論知識)

關鍵字: 模糊控制 語言

任何一種“語言”,都是各種“語言特性”的組合。

關鍵字: 程序 語言 嵌入式

由于新冠疫情,口罩已經成為了一種日常用品。而日本似乎十分熱衷于研究不同類型的口罩,例如為了應對夏季的“冰鎮(zhèn)口罩”和帶微型電扇的口罩,還有為了女性美觀研發(fā)的“小臉美口罩”。 8月4日,據媒體報道,日本一

關鍵字: 口罩 日本 智能 翻譯 語言

研究表明,人在老年時學習第二語言也可以改善認知功能。 雖然我們大多數人都容易學會技術,但學習語言從未如此簡單。

關鍵字: Android 語言 verbling

航科院民用無人機檢驗中心在湖北武漢對易瓦特科技股份公司的EWZ-S8八旋翼無人機進行了無人機系統安全能力二級圍欄檢驗。本次檢驗耗時3個多小時。檢驗中心檢驗員針對EWZ-S8八旋翼無人機進行了無人

關鍵字: 無人機 語言

什么是51單片機?它有什么注意事項?編程也好設計也罷,都要有遵循的規(guī)則??梢园l(fā)揮自己的創(chuàng)新但是要顧全大局,不能隨意的編程。下面分享關于51單片機編程的一些規(guī)則,希望能幫到大家,避免大家四處碰壁。

關鍵字: 51單片機 編程 語言

1月15日,打著中科院計算所出品、完全自主開發(fā)旗號的國產編程語言“木蘭”引發(fā)廣泛關注,但很快被發(fā)現是基于Python語言套殼、換皮而來的產物。 面對質疑,中科院計算所編譯實驗室員工、“木蘭”語言研發(fā)團

關鍵字: 中科院 國產 木蘭 編程 語言 劉雷 計算所 重罰

國產編程語言“木蘭”橫空出世,后續(xù)結果反轉令人不齒。 近日,一則關于國產編程語言“木蘭”出世的消息讓人眼前一亮。據悉,“木蘭”是面向智能物聯應用的編程語言,由我國科研人員自主設計、開發(fā)和實現,與之配套

關鍵字: 中科院 木蘭 漢芯 編程 語言
關閉