哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

C語(yǔ)言的sizeof操作符基礎(chǔ)和經(jīng)典問(wèn)題

汽車玩家 ? 來(lái)源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2020-04-04 17:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

sizeof基礎(chǔ)

C語(yǔ)言中,sizeof是一個(gè)操作符(operator),而不是函數(shù)!其用于判斷數(shù)據(jù)類型或者表達(dá)式長(zhǎng)度(所占的內(nèi)存字節(jié)數(shù))。其有兩種表達(dá)形式:

(1)sizeof(類型說(shuō)明符)

(2)sizeof 表達(dá)式

我們通常使用第(1)種形式。

其返回值類型為size_t,在頭文件stddef.h中定義。這是一個(gè)依賴于編譯系統(tǒng)的值,一般定義為:

typedef unsigned int size_t;

首先確定我們當(dāng)前編譯環(huán)境中C語(yǔ)言各個(gè)基本數(shù)據(jù)類型在內(nèi)存中所占字節(jié)數(shù),我這里是32bit編譯環(huán)境:

C語(yǔ)言的sizeof操作符基礎(chǔ)和經(jīng)典問(wèn)題

我們這里的輸出結(jié)果為:

C語(yǔ)言的sizeof操作符基礎(chǔ)和經(jīng)典問(wèn)題

sizeof典型問(wèn)題

sizeof看起來(lái)似乎很簡(jiǎn)單,那來(lái)看看下面這段代碼,你能做對(duì)幾個(gè):

C語(yǔ)言的sizeof操作符基礎(chǔ)和經(jīng)典問(wèn)題

實(shí)際運(yùn)行 輸出結(jié)果為:

C語(yǔ)言的sizeof操作符基礎(chǔ)和經(jīng)典問(wèn)題

簡(jiǎn)要分析:

(1)sizeof(char) 的值為1。因?yàn)閏har類型數(shù)據(jù)在內(nèi)存中占1字節(jié)。

(2)sizeof(char*)的值為4。因?yàn)閏har*代表一個(gè)指針,在32bit環(huán)境中為4字節(jié),也即unsigned int的字節(jié)長(zhǎng)度。

(3)sizeof('a')的值為4。因?yàn)榇颂帯產(chǎn)’是獨(dú)立存在的一個(gè)字符(沒(méi)有賦值給其它變量),實(shí)際上就是一個(gè)整型數(shù),占4個(gè)字節(jié),即此處‘a(chǎn)’對(duì)應(yīng)的ascii碼的十進(jìn)制為整數(shù)97。但是需要注意的是,若有如下定義:

char ch = 'a';

則此處ch的字節(jié)數(shù)sizeof(ch)的值為1,而不是4。

(4)sizeof(*s+0)的值為4,因?yàn)?#39;h'+0 轉(zhuǎn)化為int,占4字節(jié)。此處涉及到類型轉(zhuǎn)換的問(wèn)題。即不同類型的數(shù)據(jù)進(jìn)行運(yùn)算時(shí),會(huì)首先轉(zhuǎn)換成相同數(shù)據(jù)類型。轉(zhuǎn)換規(guī)則為(圖片來(lái)源于網(wǎng)絡(luò)):

C語(yǔ)言的sizeof操作符基礎(chǔ)和經(jīng)典問(wèn)題

(5)sizeof(*s)的值為1,因?yàn)榇颂?s為字符串s的第1個(gè)字符‘h’(注意與第三點(diǎn)區(qū)分開(kāi)來(lái),這里是有用char來(lái)修飾的),所以所占字節(jié)長(zhǎng)度為1。

(6)sizeof(s)的值為4,同(2),此處s是一個(gè)指針,在32bit環(huán)境中為4字節(jié),也即unsigned int的字節(jié)長(zhǎng)度。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3229

    瀏覽量

    76485
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    183

    文章

    7645

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    C語(yǔ)言重點(diǎn)—指針篇

    C語(yǔ)言是比較偏底層的語(yǔ)言,為什么他比較偏底層,就是因?yàn)樗暮芏?b class='flag-5'>操作都是直接針對(duì)內(nèi)存操作的。 這篇我們就來(lái)講解
    發(fā)表于 01-22 08:23

    C語(yǔ)言指針p、*p、&p、*&p、&*p分別代表什么

    * p和 *p又代表什么嗎? 寫個(gè)測(cè)試程序下面是一個(gè)簡(jiǎn)單的C語(yǔ)言代碼,可以用來(lái)演示上面提到的幾個(gè)標(biāo)識(shí),讓我們更好的理解幾個(gè)標(biāo)識(shí)的意義: #include int main() {
    發(fā)表于 01-07 07:34

    C語(yǔ)言主要特點(diǎn)

    ,源程序短,因此輸入程序時(shí)工作量少。 2.運(yùn)算豐富,C語(yǔ)言的運(yùn)算包含的范圍很廣泛,共有34種運(yùn)算。
    發(fā)表于 01-05 07:41

    C語(yǔ)言嵌入式系統(tǒng)編程注意事項(xiàng)-內(nèi)存操作

    C語(yǔ)言嵌入式系統(tǒng)編程注意事項(xiàng)之內(nèi)存操作 在嵌入式系統(tǒng)的編程中,常常要求在特定的內(nèi)存單元讀寫內(nèi)容,匯編有對(duì)應(yīng)的MOV指令,而除C/C++以外的
    發(fā)表于 01-04 07:31

    如何在TensorFlow Lite Micro中添加自定義操作符(1)

    相信大家在部署嵌入式端的AI應(yīng)用時(shí),一定使用過(guò)TensorFlow Lite Micro,以下簡(jiǎn)稱TFLm。TFLm 是專為微控制器和嵌入式設(shè)備設(shè)計(jì)的輕量級(jí)機(jī)器學(xué)習(xí)推理框架,它通過(guò)模塊化的操作符系統(tǒng)
    的頭像 發(fā)表于 12-26 10:34 ?5684次閱讀

    C語(yǔ)言經(jīng)典問(wèn)題及解析

    (\"> 6\") : puts(\"<= 6\"); } 考察點(diǎn): 這 個(gè)問(wèn)題測(cè)試你是否懂得C語(yǔ)言中的整數(shù)自動(dòng)轉(zhuǎn)換原則,我發(fā)現(xiàn)有
    發(fā)表于 12-23 07:52

    布爾表達(dá)式和零值比較處理

    ==0,x!=0(或者x>0)。 C代碼中每次關(guān)系運(yùn)算的調(diào)用,編譯器都會(huì)發(fā)出一個(gè)比較指令。 如果操作符是上面提到的,編譯器便會(huì)優(yōu)化掉比較指令。例如: int aFunction
    發(fā)表于 12-12 06:16

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

    函數(shù)重載,即在同一作用域內(nèi)可以定義多個(gè)同名函數(shù),只要它們的參數(shù)列表不同即可。 C語(yǔ)言不支持函數(shù)重載,每個(gè)函數(shù)必須具有唯一的標(biāo)識(shí)。 4、異常處理: C++內(nèi)置了異常處理機(jī)制,允許程
    發(fā)表于 12-11 06:23

    C語(yǔ)言的常量介紹

    、-13; 實(shí)型常量:13.33、-24.4; 字符常量:‘a(chǎn)’、‘M’ 字符串常量:”I love china!” 在C語(yǔ)言中,可以用一個(gè)標(biāo)識(shí)來(lái)表示一個(gè)常量,稱之為符號(hào)常量。符號(hào)常量在使用之前必須先
    發(fā)表于 11-24 07:12

    C語(yǔ)言特性

    1、高效性:直接操作硬件 C 語(yǔ)言代碼的執(zhí)行效率極高,這是其最為顯著的優(yōu)勢(shì)之一。它能夠直接訪問(wèn)硬件資源,與底層硬件進(jìn)行緊密交互,充分發(fā)揮硬件的性能潛力。在嵌入式開(kāi)發(fā)中,硬件資源往往十分有限,對(duì)程序
    發(fā)表于 11-24 07:01

    C語(yǔ)言操作符

    C 語(yǔ)言操作符包括按位與( )、按位或(|)、按位異或(^)、按位取反(~)、左移(<<)和右移(>>)。 按位與( ) 只有當(dāng)兩個(gè)二進(jìn)制位
    發(fā)表于 11-21 07:52

    C語(yǔ)言宏拼接運(yùn)算典型使用

    C語(yǔ)言中,##運(yùn)算(稱為[size=16.002px]標(biāo)記拼接運(yùn)算)用于宏定義中將兩個(gè)標(biāo)記(token)拼接成一個(gè)新的標(biāo)記。它在預(yù)處理階段處理,常用于動(dòng)態(tài)生成變量名、函數(shù)名或類型
    發(fā)表于 11-20 08:27

    C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異

    語(yǔ)言的功能特性外,它可以很好的操作底層的硬件接口。在C語(yǔ)言的基礎(chǔ)上,如果你把一些單片機(jī)的端口或特殊功能寄存器加于定義,使用的時(shí)候會(huì)更加方便,寫語(yǔ)句的時(shí)候,直接直觀的編寫。這樣就差不多是
    發(fā)表于 11-14 07:55

    C語(yǔ)言的printf基本用法介紹

    也是代碼的一部分,但是它并不會(huì)給程序帶來(lái)任何影響,編譯器在編譯階段會(huì)忽略注釋的內(nèi)容,或者說(shuō)刪除注釋的內(nèi)容。我在《C語(yǔ)言標(biāo)識(shí)、關(guān)鍵字和注釋》一節(jié)中做了詳細(xì)講解。 3) money 的輸出值并不是
    發(fā)表于 11-12 07:04

    第4章 C語(yǔ)言基礎(chǔ)以及流水燈的實(shí)現(xiàn)(4.3 4.4)

    的符號(hào)分別是:+、-、*、/、%。 C語(yǔ)言有一個(gè)很重要的賦值運(yùn)算“=”,前邊程序有使用過(guò)。在C語(yǔ)言里,“=”代表的意思是賦值,而不是等于。
    的頭像 發(fā)表于 10-29 15:30 ?417次閱讀
    三原县| 新宁县| 洛浦县| 乌拉特后旗| 巴中市| 佛山市| 磐安县| 金门县| 西青区| 尼玛县| 夏邑县| 开鲁县| 陕西省| 商水县| 页游| 资中县| 启东市| 托里县| 阳春市| 绥芬河市| 宜兴市| 定结县| 永安市| 临潭县| 淮南市| 仁寿县| 广灵县| 金寨县| 泾阳县| 鄂伦春自治旗| 奎屯市| 永定县| 松潘县| 广平县| 唐河县| 阿瓦提县| 邳州市| 新化县| 马龙县| 陵川县| 白城市|