在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在嵌入式軟件編程中深入理解關(guān)鍵字

            在嵌入式軟件編程中深入理解關(guān)鍵字

            作者: 時(shí)間:2009-11-17 來源:網(wǎng)絡(luò) 收藏


            引 言
            計(jì)算機(jī)編程語言的就好比是它的靈魂,只有了它們的含義才能編寫出優(yōu)秀的代碼。C語言以其簡潔、高效和強(qiáng)大等特性成為的首選語言,但是某些,例如const、static、extern和volatile等,在不同的場合具有不同的含義,而且某些用法晦澀難懂,為此本文詳細(xì)介紹這些的用法及其背后的原理。

            本文引用地址:http://www.biyoush.com/article/152278.htm


            1 const
            const限定的對(duì)象表示編譯器可以將它放在只讀存儲(chǔ)器中,也就意味著在對(duì)其進(jìn)行初始化之后就不能改變它的值。根據(jù)const使用的不同場合,大致可以分為三種情況,其一限定普通變量,其二限定函數(shù)參數(shù),其三限定指針變量。
            第一和第二種情況最為簡單,語句①和語句②分別展示了它的用法。語句①定義了一個(gè)值為10的整型常量。語句②中的const表示在函數(shù)體中不能修改src指向的區(qū)域中的數(shù)據(jù),這與函數(shù)的拷貝功能相對(duì)應(yīng),只做它應(yīng)該做的事情而不應(yīng)該有其他副作用,編譯器可以利用這些信息進(jìn)行適當(dāng)?shù)膬?yōu)化。
            ①const int i=10;
            ②void*memcpy(void * dst,const void * src,size_t size);
            ③const int *ptr;
            ④int const *ptr;
            ⑤int*const ptr;
            ⑥int const*cons ptr;
            第3種情況最為復(fù)雜,雖然只是const位置不同,但是卻可能具有完全不同的意義。一般,一個(gè)聲明語句由聲明說明符(decl-specifier)和一系列聲明子(declarator)兩部分組成,而且聲明說明符中的符號(hào)可以以任何次序出現(xiàn)。聲明的第一步是定位說明符和聲明子的邊界。這很容易:所有的說明符都是關(guān)鍵字或者類型名,因此說明符終止于第一個(gè)不是以上類型之一的符號(hào)。例如,在語句③和④中第一個(gè)既不是關(guān)鍵字也不是類型名的符號(hào)是“*”,即聲明說明符分別為const.int和int const,由于聲明說明符中的符號(hào)可以以任意次序出現(xiàn),因此語句③和④的含義是相同的。
            為了迅速弄清語句表達(dá)的含義,參考文獻(xiàn)[1]介紹了一種簡便的方法,其要點(diǎn)就是“逆序讀出定義”,如圖1所示。

            2 static與extem
            static的含義隨著出現(xiàn)位置(全局變量還是局部變量)和修飾對(duì)象(變量還是函數(shù))的不同而有很大的差別。下面各條目中的模塊指的是一個(gè)源文件或者一個(gè)翻譯單元:

            ①位于函數(shù)體中的靜態(tài)變量在多次函數(shù)調(diào)用間會(huì)維持其值。
            ②位于模塊內(nèi)(但在函數(shù)體外)的靜態(tài)變量可以被模塊內(nèi)的所有函數(shù)訪問,但不能被模塊外其他函數(shù)訪問。也就是說,它是一個(gè)本地的全局變量。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            上一頁 1 2 3 下一頁

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉