在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

汽車玩家 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2020-04-04 17:39 ? 次閱讀

sizeof基礎(chǔ)

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

(1)sizeof(類型說明符)

(2)sizeof 表達(dá)式

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

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

typedef unsigned int size_t;

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

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

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

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

sizeof典型問題

sizeof看起來似乎很簡單,那來看看下面這段代碼,你能做對幾個:

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

實際運行 輸出結(jié)果為:

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

簡要分析:

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

(2)sizeof(char*)的值為4。因為char*代表一個指針,在32bit環(huán)境中為4字節(jié),也即unsigned int的字節(jié)長度。

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

char ch = 'a';

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

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

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

(5)sizeof(*s)的值為1,因為此處*s為字符串s的第1個字符‘h’(注意與第三點區(qū)分開來,這里是有用char來修飾的),所以所占字節(jié)長度為1。

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

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

    關(guān)注

    8

    文章

    3029

    瀏覽量

    74103
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7605

    瀏覽量

    137000
收藏 人收藏

    評論

    相關(guān)推薦

    邏輯異或運算在Python中的用法

    在Python編程語言中,邏輯異或運算并不直接作為一個內(nèi)置的操作符存在,因為Python更側(cè)重于高級編程和可讀性,并沒有直接提供異或運算的簡寫形式用于邏輯運算(真/假值的異或)。然
    的頭像 發(fā)表于 11-19 09:46 ?207次閱讀

    C語言指針運算詳解

    C語言中,當(dāng)你有一個指向數(shù)組中某個元素的指針時,你可以對該指針執(zhí)行某些算術(shù)運算,例如加法或減法。這些運算可以用來遍歷數(shù)組中的元素,如ptr[i]等價于*(ptr + i)。然而,如果你的操作使得指針指向了數(shù)組以外的位置(除了數(shù)
    的頭像 發(fā)表于 10-30 11:16 ?257次閱讀

    技術(shù)干貨驛站 ▏解鎖C語言高效編程秘訣:深入解析運算與優(yōu)先級

    C語言的學(xué)習(xí)過程中,運算的使用是不可忽視的重要環(huán)節(jié)。本文將繼續(xù)深入探討C語言中的運算,重點
    的頭像 發(fā)表于 10-13 08:09 ?281次閱讀
    技術(shù)干貨驛站 ▏解鎖<b class='flag-5'>C</b><b class='flag-5'>語言</b>高效編程秘訣:深入解析運算<b class='flag-5'>符</b>與優(yōu)先級

    技術(shù)干貨驛站 ▏深入理解C語言:編程高手必備,全方位解析運算的核心技能!

    C語言的編程領(lǐng)域中,運算是實現(xiàn)數(shù)據(jù)處理與邏輯操作的關(guān)鍵工具。無論是在處理簡單的數(shù)值計算,還是在構(gòu)建復(fù)雜的邏輯結(jié)構(gòu)時,運算的使用貫穿始終
    的頭像 發(fā)表于 09-18 15:56 ?366次閱讀
    技術(shù)干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:編程高手必備,全方位解析運算<b class='flag-5'>符</b>的核心技能!

    C語言指針詳細(xì)解析

    可以對數(shù)據(jù)本身,也可以對存儲數(shù)據(jù)的變量地址進(jìn)行操作。 指針是一個占據(jù)存儲空間的實體在這一段空間起始位置的相對距離值。在C/C++語言中,指針一般被認(rèn)為是指針變量,指針變量的內(nèi)容存儲的是
    發(fā)表于 09-14 10:03

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型整數(shù)類型

    (十進(jìn)制)。 整數(shù)類型支持的操作 整數(shù)類型默認(rèn)支持的操作符包括:算術(shù)操作符、位操作符、關(guān)系操作符、自增和自減
    發(fā)表于 09-13 14:55

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型布爾類型

    let b: Bool = false 布爾類型支持的操作 布爾類型支持的操作符包括:邏輯操作符(邏輯非!,邏輯與 &&,邏輯或 ||)、部分關(guān)系操作符
    發(fā)表于 09-09 09:57

    c語言中從左到右結(jié)合怎么看

    C語言中,操作符的結(jié)合性(Associativity)是指當(dāng)操作符在表達(dá)式中連續(xù)出現(xiàn)時,它們?nèi)绾闻c操作數(shù)結(jié)合的順序。對于大多數(shù)二元
    的頭像 發(fā)表于 08-20 11:42 ?914次閱讀

    c語言從右到左的運算有哪些

    以下是一些主要的從右到左運算的C語言運算: 函數(shù)調(diào)用運算 ( () ):當(dāng)您調(diào)用一個函數(shù)時,參數(shù)列表是從右到左進(jìn)行求值的。 后置遞增運算
    的頭像 發(fā)表于 08-20 11:39 ?1025次閱讀

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-初識倉頡開發(fā)語言

    復(fù)用和生態(tài)兼容。 領(lǐng)域易擴(kuò)展 :倉頡編程語言提供了基于詞法宏的元編程能力,支持在編譯時變換代碼,此外,還提供了尾隨 lambda、屬性、操作符重載、部分關(guān)鍵字可省略等特性,開發(fā)者可由此深度定制
    發(fā)表于 08-15 10:00

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-初識倉頡開發(fā)語言

    復(fù)用和生態(tài)兼容。 領(lǐng)域易擴(kuò)展 :倉頡編程語言提供了基于詞法宏的元編程能力,支持在編譯時變換代碼,此外,還提供了尾隨lambda、屬性、操作符重載、部分關(guān)鍵字可省略等特性,開發(fā)者可由此深度定制程序的語法
    發(fā)表于 07-30 17:49

    FPGA學(xué)習(xí)筆記---基本語法

    3、信號類型:wire, reg, tri等 4、參數(shù)定義:parameter 5、運算操作符:各種邏輯操作符、移位操作符、算數(shù)操作符等 6、比較判斷:if ... else, ca
    發(fā)表于 06-23 14:58

    淺析C語言中的變量修飾

    一、修飾類型51單片機(jī)采用哈佛結(jié)構(gòu)。內(nèi)存空間編址有重疊??梢栽诓煌偩€上定義不同的變量。在KEILC51中定義了data、idata、xdata、code幾種域修飾。這些修飾決定了變量訪問方式
    的頭像 發(fā)表于 04-15 08:10 ?701次閱讀
    淺析<b class='flag-5'>C</b><b class='flag-5'>語言</b>中的變量修飾<b class='flag-5'>符</b>

    C語言基礎(chǔ)-為什么要使用C?

    當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng)) MySQL 都是使用 C 語言編寫的。
    發(fā)表于 03-25 11:20 ?451次閱讀

    c語言,c++,java,python區(qū)別

    C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點和特點。 C語言
    的頭像 發(fā)表于 02-05 14:11 ?2430次閱讀
    主站蜘蛛池模板: 男生女生靠逼视频| 亚洲色吧| 成人剧场| 欧美三级免费看| 在线 你懂| 一级 黄 色 毛片| 天堂网在线最新版官网| 色网址在线| 免费拍拍视频| 国产在线播| 一级录像| 免费看黄在线| 视频在线视频免费观看| 亚洲一区二区三区高清视频| 老熟女毛片| 天堂网2014av| 美女黄页网站免费进入| 成人在色线视频在线观看免费大全| 美女黄页在线观看| 国产精品一级毛片不收费| 亚洲视频天天射| www.xxx.国产| 成人av在线电影| 天天操天天拍| 天天天做天天天天爱天天想| 久久久久久久国产精品影院| 啪啪免费小视频| a亚洲| 色婷婷久久合月综| 国产一区二区影院| 天天操操操操| 1024免费永久福利视频| 欧美性色xo影院69| 四虎影院在线观看免费| 久久精品99无色码中文字幕| 夜夜夜操操操| 91精品久久久久含羞草| 国产三级观看久久| 日本韩国三级视频| aaaa日本| 夜夜摸天天操|