欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言里的鐵布衫——const

Q4MP_gh_c472c21 ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-06-11 16:26 ? 次閱讀

相傳在C的世界里出現(xiàn)了一件極品裝備(鐵布衫)const、它的出現(xiàn),讓天下的所有刺客和黑客都聞風(fēng)喪膽,在它的保護(hù)下,所有的變量都可以保存的完好無(wú)損const是constant的縮寫(xiě),表示??菔癄€、恒定不變、一旦相伴、永不變心。只要一個(gè)變量前面用const來(lái)修飾,就意味著該變量的數(shù)據(jù)可以被訪問(wèn),不能被修改。其實(shí)我們還可以叫它readonly.

雖然理解起const來(lái)相對(duì)比較容易理解,但是const不僅僅可以用來(lái)修辭基本類型,它還可以經(jīng)常用來(lái)修辭一些構(gòu)造類型和指針及其參合體,如數(shù)組、指針、指針數(shù)組、結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體指針數(shù)組一旦和這些復(fù)雜的類型結(jié)合起來(lái)還是有一定的迷惑性的.

例如:

(1) const int a = 10;

(2) int const a = 10;

(3) const int a[10] = {1,2,3, 4, 5, 6, 7, 8, 9, 10};

(4) const int *p;

(5) int * const p;

(6) const struct devices dev[5];

(7) struct devices const * dev[5];

看到上面的例子,我相信很多人都會(huì)倒吸一口冷氣。話不多說(shuō)直接看辨識(shí)技巧

將類型去掉;

看const修飾誰(shuí),誰(shuí)就擁有鐵布衫,誰(shuí)的值就不能被修改,是readonly(1)去掉類型 int 變成“const a = 10”,a 擁有了鐵布衫,a的值是不變的(2)去掉類型 int 變成“const a = 10”,a 擁有了鐵布衫,a的值是不變的,這兩個(gè)的效果一樣(3)去掉類型 int 變成“const a[10]”, a[10]擁有了鐵布衫,a數(shù)組里面的值是不變的(4)去掉類型 int 變成“const *p”,*p擁有鐵布衫,p所指的空間里面的值是不變的(5) 去掉類型 int * 變成 “const p”,指針變量p擁有了鐵布衫,指針變量p的值不變,也就是說(shuō)p不能再指向其他地址了,但是p所指向的空間的值可變(6)去掉類型struct devices變成“const dev[5]”,dev[5]擁有了鐵布衫,dev[5]數(shù)組的值不變(7)這是一個(gè)devices結(jié)構(gòu)體類型的指針數(shù)組,它擁有5個(gè)devices結(jié)構(gòu)體類型的指針,每個(gè)指針指向一個(gè)devices結(jié)構(gòu)體,const修飾*dev[5],去掉類型struct devices變成“const *dev[5]”,指針數(shù)組*dev[5]擁有了鐵布衫,指針數(shù)組dev中每個(gè)元素指向的空間里的值不變。

作用總結(jié):

首先、const關(guān)鍵字修飾變量名的時(shí)候,把這個(gè)變量變?yōu)槭且粋€(gè)只讀變量,這里的只讀不是全局?jǐn)?shù)據(jù)區(qū)的or段。它所修飾的變量原來(lái)是在哪個(gè)區(qū)域,const修飾之后它還在那個(gè)區(qū)域。比如修飾一個(gè)局部變量const int num = 5;那么這個(gè)局部變量還是存在??臻g上。它本身對(duì)應(yīng)的內(nèi)存空間還是可以變的。但是不可以通過(guò)num去修改它。如果定義一個(gè)指針指向num的地址。則可以改變num的值。其次、const可以修飾形參(保護(hù)形參不被修改),在這一點(diǎn)上,站在實(shí)現(xiàn)者的角度,const可以防止函數(shù)對(duì)實(shí)參修改帶來(lái)的問(wèn)題。站在調(diào)用者的角度來(lái)說(shuō),它對(duì)于實(shí)參只能訪問(wèn),不能修改。所以、合理地使用關(guān)鍵字const可以使編譯器很自然地保護(hù)那些不希望被改變的參數(shù),防止其被無(wú)意的代碼修改。簡(jiǎn)而言之,這樣可以減少bug的出現(xiàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7615

    瀏覽量

    137872
  • CONST
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    8194

原文標(biāo)題:在C的世界里出現(xiàn)了一件極品裝備(鐵布衫)const

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言關(guān)鍵字const的幾種用法

    本期來(lái)講解一個(gè)C語(yǔ)言的關(guān)鍵字——const。
    發(fā)表于 06-21 11:05 ?1723次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>關(guān)鍵字<b class='flag-5'>const</b>的幾種用法

    C語(yǔ)言const關(guān)鍵字的用法

    const是constant的簡(jiǎn)寫(xiě),用來(lái)定義常量,如果一個(gè)變量被const修飾,那么它的值就不能再被改變。
    發(fā)表于 06-29 09:51 ?498次閱讀

    C語(yǔ)言之正確使用Const

    C語(yǔ)言之正確使用Const基本解釋  const是一個(gè)C語(yǔ)言的關(guān)鍵字,它限定一個(gè)變量不允許被改變
    發(fā)表于 10-07 11:20

    C語(yǔ)言——正確使用const

    C語(yǔ)言——正確使用const基本解釋   const是一個(gè)C語(yǔ)言的關(guān)鍵字,它限定一個(gè)變量不允許被
    發(fā)表于 04-23 11:58

    C語(yǔ)言布衫——const

    相傳在C的世界出現(xiàn)了一件極品裝備(布衫const、它的出現(xiàn),讓天下的所有刺客和黑客都聞風(fēng)喪膽,在它的保護(hù)下,所有的變量都可以保存的完好
    發(fā)表于 06-11 08:28

    【每日一知識(shí)點(diǎn)】C語(yǔ)言const詳解

    本帖最后由 張飛電子學(xué)院蔡琰 于 2021-3-29 11:01 編輯 C語(yǔ)言const關(guān)鍵字是constant的縮寫(xiě),是恒定不變的意思。通常翻譯為常量、常數(shù)等,我們一看到const
    發(fā)表于 03-29 10:53

    筆記本的布衫

    筆記本的布衫 在盡情地享受高科技數(shù)碼產(chǎn)品給我們工作和生活帶來(lái)的便利和樂(lè)趣的今天,你是否曾為你身軀嬌小的PSP被刮傷而心疼好幾天,你
    發(fā)表于 01-20 14:32 ?481次閱讀

    請(qǐng)問(wèn)C語(yǔ)言strcpy具體怎么使用

    標(biāo)準(zhǔn)庫(kù)的string類提供了3個(gè)成員函數(shù)來(lái)從一個(gè)string得到c類型的字符數(shù)組:c_str()、data()、copy(p,n)。這是C語(yǔ)言里面復(fù)制字符串的庫(kù)函數(shù), 函數(shù)聲明包括在專
    發(fā)表于 11-29 08:54 ?1.1w次閱讀

    C語(yǔ)言生成的段和CMD文件

    本章講述COFF格式、C語(yǔ)言生成的段、CMD文件和復(fù)雜的.const段。
    發(fā)表于 04-12 16:37 ?11次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>生成的段和CMD文件

    C++與Cconst關(guān)鍵字有何差別?

    C++與C中的const關(guān)鍵字有何差別?
    的頭像 發(fā)表于 02-03 14:51 ?1863次閱讀

    C語(yǔ)言const和volatile的深度學(xué)習(xí)

    關(guān)于const的用法,現(xiàn)在大概前前后后應(yīng)該寫(xiě)了有兩篇文章,以前學(xué)習(xí)的時(shí)候,用法體會(huì)不是那么深刻,為啥這么說(shuō)呢,因?yàn)樵趯W(xué)習(xí)c++的時(shí)候,會(huì)發(fā)現(xiàn)const關(guān)鍵字有新的玩法,關(guān)于這個(gè)新的玩法,大家可以去看最近學(xué)習(xí)總結(jié)寫(xiě)的
    的頭像 發(fā)表于 12-24 16:13 ?723次閱讀

    constC語(yǔ)言C++中的區(qū)別與使用!

    const修飾的全局變量不能以地址的形式進(jìn)行修改,由于它在內(nèi)存中位于常量區(qū),他的地址空間是只讀的。在C語(yǔ)言中被const的變量是直接被分配內(nèi)存的。
    的頭像 發(fā)表于 04-24 16:08 ?1428次閱讀

    C語(yǔ)言const的用法介紹

    C語(yǔ)言標(biāo)準(zhǔn)庫(kù)中很多函數(shù)的參數(shù)都被 const 限制了,但我們?cè)谝郧暗木幋a過(guò)程中并沒(méi)有注意這個(gè)問(wèn)題,經(jīng)常將非 const 類型的數(shù)據(jù)傳遞給 const
    發(fā)表于 01-05 10:03 ?593次閱讀

    C語(yǔ)言const關(guān)鍵字詳解

    const我平時(shí)沒(méi)咋用過(guò),最近在一份代碼中配置外設(shè)寄存器值的數(shù)組定義上看到用了這個(gè),因此進(jìn)行一下簡(jiǎn)單的入門學(xué)習(xí)。在本文最后1點(diǎn)給出const在配置外設(shè)初始默認(rèn)寄存器的用法。
    的頭像 發(fā)表于 04-15 15:47 ?722次閱讀

    C語(yǔ)言|const關(guān)鍵字介紹

    最近看別人的項(xiàng)目, 發(fā)現(xiàn)const使用比較多, 通過(guò)使用const來(lái)保護(hù)變量, 這篇推文就來(lái)簡(jiǎn)單回顧一下相關(guān)知識(shí)!
    的頭像 發(fā)表于 05-25 15:11 ?579次閱讀