国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

volatile

volatile int i = 10;

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

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

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

指針可以是 volatile

assert()

斷言,是宏,而非函數。assert 宏的原型定義在 《assert.h》(C)、《cassert》(C++)中,其作用是如果它的條件返回錯誤,則終止程序執行。可以通過定義 NDEBUG 來關閉 assert,但是需要在源代碼的開頭,include 《assert.h》 之前。

assert() 使用

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

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

sizeof()

sizeof 對數組,得到整個數組所占空間大小。

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

#pragma pack(n)

設定結構體、聯合以及類成員變量以 n 字節方式對齊

#pragma pack(n) 使用

#pragma pack(push) // 保存對齊狀態#pragma pack(4) // 設定為 4 字節對齊

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

#pragma pack(pop) // 恢復對齊狀態

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

    51593
  • volatile
    +關注

    關注

    0

    文章

    46

    瀏覽量

    13730
  • sizeof
    +關注

    關注

    0

    文章

    9

    瀏覽量

    6610
  • ASSERT
    +關注

    關注

    0

    文章

    17

    瀏覽量

    7660

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

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    keil實現cc++混合編程

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

    volatile的修飾符

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

    C語言與C++的區別及聯系

    C語言和C++到底是什么關系? 首先C++C語言本來就是兩種不同的編程語言,但C++確實是對C
    發表于 12-24 07:23

    CC++之間的聯系

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

    C語言和C++之間的區別是什么

    C++的標準庫那樣集成度高和功能齊全。 6、編譯器與語言特性: C++編譯器通常比C語言編譯器更加復雜,因為它需要處理更多的語言特性,比如模板元編程、命名空間、引用等。 C++
    發表于 12-11 06:23

    C/C++條件編譯

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

    C++程序異常的處理機制

    語法 C++異常處理涉及到3個關鍵字: throw---拋出一個異常,帶參數 try---用于標識可能會出現異常的代碼段 catch--是用于標識異常處理的代碼段 下面以一個例子來說明它們
    發表于 12-02 07:12

    什么是??volatile

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

    C/C++代碼靜態測試工具Perforce QAC 2025.3的新特性

    ?Perforce Validate?中?QAC?項目的相對/根路徑的支持。C++?分析也得到了增強,增加了用于檢測 C++?并發問題的新檢查,并改進了實體名稱和實
    的頭像 發表于 10-13 18:11 ?568次閱讀
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>代碼靜態測試工具Perforce QAC 2025.3的新特性

    強實時運動控制內核MotionRT750(六):us級高速交互C++,為智能裝備提速

    Windows下運動控制實時內核MotionRT750的高速交互C++
    的頭像 發表于 09-04 14:50 ?725次閱讀
    強實時運動控制內核MotionRT750(六):us級高速交互<b class='flag-5'>之</b><b class='flag-5'>C++</b>,為智能裝備提速

    【RA4M2-SENSOR】I2C驅動OLED

    使用 SCI 下的 I2C 來驅動 OLED 首先配置 SCI_I2C0 參數保持默認就行 底層驅動 volatile int i2c_send_complete_flag = 0
    發表于 09-02 18:19

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

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

    C++ 與 Python:樹莓派上哪種語言更優?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯網項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發表于 07-24 15:32 ?943次閱讀
    <b class='flag-5'>C++</b> 與 Python:樹莓派上哪種語言更優?

    主流的 MCU 開發語言為什么是 C 而不是 C++

    在單片機的地界兒里,C語言穩坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉。先說內存這道坎兒。您當stm32f4的256kRAM
    的頭像 發表于 05-21 10:33 ?1037次閱讀
    主流的 MCU 開發語言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    單片機編程關鍵字volatile

    volatile 修飾的變量是說這變量可能會被意想不到地改變。通常對于程序員而言,單片機 中用的就算常見了volatile 是易變的,不穩定的意思。其實對于很多人來說,根本沒見過這個關鍵字,不 知道
    發表于 04-02 13:47 ?2次下載