日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

C++基礎(chǔ)語法之volatile、assert()和sizeof()

C語言編程學(xué)習(xí)基地 ? 來源:C語言編程學(xué)習(xí)基地 ? 作者: C語言編程 ? 2021-09-09 09:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

volatile

volatile int i = 10;

volatile 關(guān)鍵字是一種類型修飾符,用它聲明的類型變量表示可以被某些編譯器未知的因素(操作系統(tǒng)、硬件、其它線程等)更改。所以使用 volatile 告訴編譯器不應(yīng)對(duì)這樣的對(duì)象進(jìn)行優(yōu)化。

volatile 關(guān)鍵字聲明的變量,每次訪問時(shí)都必須從內(nèi)存中取出值(沒有被 volatile 修飾的變量,可能由于編譯器的優(yōu)化,從 CPU 寄存器中取值)

const 可以是 volatile (如只讀的狀態(tài)寄存器)

指針可以是 volatile

assert()

斷言,是宏,而非函數(shù)。assert 宏的原型定義在 《assert.h》(C)、《cassert》(C++)中,其作用是如果它的條件返回錯(cuò)誤,則終止程序執(zhí)行??梢酝ㄟ^定義 NDEBUG 來關(guān)閉 assert,但是需要在源代碼的開頭,include 《assert.h》 之前。

assert() 使用

#define NDEBUG // 加上這行,則 assert 不可用#include 《assert.h》

assert( p != NULL ); // assert 不可用

sizeof()

sizeof 對(duì)數(shù)組,得到整個(gè)數(shù)組所占空間大小。

sizeof 對(duì)指針,得到指針本身所占空間大小。

#pragma pack(n)

設(shè)定結(jié)構(gòu)體、聯(lián)合以及類成員變量以 n 字節(jié)方式對(duì)齊

#pragma pack(n) 使用

#pragma pack(push) // 保存對(duì)齊狀態(tài)#pragma pack(4) // 設(shè)定為 4 字節(jié)對(duì)齊

struct test{ char m1; double m4; int m3;};

#pragma pack(pop) // 恢復(fù)對(duì)齊狀態(tài)

編輯:jq

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

    關(guān)注

    1

    文章

    1673

    瀏覽量

    51961
  • volatile
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    13803
  • sizeof
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    6624
  • ASSERT
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    7679

原文標(biāo)題:C++基礎(chǔ)語法梳理:volatile、assert()和sizeof()

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用VectorCAST/C++的AI輔助測(cè)試功能

    從2026版本開始,VectorCAST/C++推出首批AI輔助測(cè)試功能,旨在幫助開發(fā)團(tuán)隊(duì)解決單元測(cè)試過程中的兩個(gè)核心難點(diǎn):
    的頭像 發(fā)表于 04-27 14:37 ?298次閱讀

    C++與lua聯(lián)合編程

    ,且發(fā)版風(fēng)險(xiǎn)極高。Lua 熱更新機(jī)制是解決這一痛點(diǎn)的唯一出路。 然而,市面上能寫 Lua 業(yè)務(wù)腳本的人如過江鯽,但真正能駕馭 C++ 與 Lua 底層交互(即精通棧機(jī)制)的人卻鳳毛麟角。當(dāng)線上出現(xiàn)
    發(fā)表于 04-19 16:27

    C++:const 的空間,常量也能占內(nèi)存?

    ] != BLACK)): return True return False c++語言5g.FsW.dgdfgsg.cnJIWWQc++語言 c++語言5g.I5y.dgdfgsg.cnJIWWQc++
    發(fā)表于 04-16 19:19

    keil實(shí)現(xiàn)cc++混合編程

    起因項(xiàng)目中使用到一個(gè)開源的模擬IIC的庫(kù),封裝的比較好,但是是使用c++寫的。于是將其移植到自己的項(xiàng)目中,主要有以下三步操作: 在工程選項(xiàng)中 C/C++中去掉勾選 C99 Mode
    發(fā)表于 01-26 08:58

    volatile的修飾符

    of structures, */ /* if the C compiler doesn\'t support this feature */ #ifdef NOSTRUCTASSIGN memcpy (d, s
    發(fā)表于 01-06 07:39

    C語言與C++的區(qū)別及聯(lián)系

    C語言和C++到底是什么關(guān)系? 首先C++C語言本來就是兩種不同的編程語言,但C++確實(shí)是對(duì)C
    發(fā)表于 12-24 07:23

    CC++之間的聯(lián)系

    1、語法兼容性: C++完全兼容C語言的語法,這意味著任何有效的C語言程序都可以直接在C++
    發(fā)表于 12-11 06:51

    C語言和C++之間的區(qū)別是什么

    C++的標(biāo)準(zhǔn)庫(kù)那樣集成度高和功能齊全。 6、編譯器與語言特性: C++編譯器通常比C語言編譯器更加復(fù)雜,因?yàn)樗枰幚砀嗟恼Z言特性,比如模板元編程、命名空間、引用等。 C++
    發(fā)表于 12-11 06:23

    C/C++條件編譯

    條件編譯是一種在編譯時(shí)根據(jù)條件選擇性地包含或排除部分代碼的處理方法。在 C/C++ 中,條件編譯使用預(yù)處理指令 #ifdef、#endif、#else 和 #elif 來實(shí)現(xiàn)。常用的條件編譯指令有
    發(fā)表于 12-05 06:21

    C++程序異常的處理機(jī)制

    語法 C++異常處理涉及到3個(gè)關(guān)鍵字: throw---拋出一個(gè)異常,帶參數(shù) try---用于標(biāo)識(shí)可能會(huì)出現(xiàn)異常的代碼段 catch--是用于標(biāo)識(shí)異常處理的代碼段 下面以一個(gè)例子來說明它們
    發(fā)表于 12-02 07:12

    什么是??volatile

    volatile是一個(gè)類型修飾符(type specifier)。 volatile的作用是作為指令關(guān)鍵字,確保本條指令不會(huì)因編譯器的優(yōu)化而省略,且要求每次直接讀值。 volatile變量是說這變量可能會(huì)被意想不到地改變,這樣
    發(fā)表于 11-25 06:36

    C/C++代碼靜態(tài)測(cè)試工具Perforce QAC 2025.3的新特性

    ?Perforce Validate?中?QAC?項(xiàng)目的相對(duì)/根路徑的支持。C++?分析也得到了增強(qiáng),增加了用于檢測(cè) C++?并發(fā)問題的新檢查,并改進(jìn)了實(shí)體名稱和實(shí)
    的頭像 發(fā)表于 10-13 18:11 ?759次閱讀
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>代碼靜態(tài)測(cè)試工具Perforce QAC 2025.3的新特性

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(六):us級(jí)高速交互C++,為智能裝備提速

    Windows下運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核MotionRT750的高速交互C++
    的頭像 發(fā)表于 09-04 14:50 ?946次閱讀
    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(六):us級(jí)高速交互<b class='flag-5'>之</b><b class='flag-5'>C++</b>,為智能裝備提速

    技能+1!如何在樹莓派上使用C++控制GPIO?

    在使用樹莓派時(shí),你會(huì)發(fā)現(xiàn)Python和Scratch是許多任務(wù)(包括GPIO編程)中最常用的編程語言。但你知道嗎,你也可以使用C++進(jìn)行GPIO編程,而且這樣做還有不少好處。借助WiringPi
    的頭像 發(fā)表于 08-06 15:33 ?4521次閱讀
    技能+1!如何在樹莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    主流的 MCU 開發(fā)語言為什么是 C 而不是 C++?

    在單片機(jī)的地界兒里,C語言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉(zhuǎn)。先說內(nèi)存這道坎兒。您當(dāng)stm32f4的256kRAM
    的頭像 發(fā)表于 05-21 10:33 ?1229次閱讀
    主流的 MCU 開發(fā)語言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?
    枣庄市| 乌拉特后旗| 河西区| 桐柏县| 济宁市| 罗江县| 汝南县| 钦州市| 博白县| 郯城县| 澄迈县| 马公市| 城步| 磐安县| 思南县| 太和县| 西畴县| 清徐县| 紫金县| 忻州市| 建平县| 武陟县| 黔西| 同心县| 融水| 门源| 沁源县| 区。| 绥德县| 庄浪县| 井研县| 贺兰县| 南漳县| 乐东| 平乐县| 远安县| 高平市| 鹰潭市| 泾阳县| 山阴县| 海南省|