chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

sizeof基礎(chǔ)

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

(1)sizeof(類型說明符)

(2)sizeof 表達式

我們通常使用第(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碼的十進制為整數(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ù)進行運算時,會首先轉(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

    文章

    3156

    瀏覽量

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

    關(guān)注

    183

    文章

    7634

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    linux系統(tǒng)awk特殊字符命令詳解

    在Linux系統(tǒng)中,awk?是一種非常強大的文本處理工具,能夠?qū)ξ谋緮?shù)據(jù)進行分析、格式化和篩選。利用其內(nèi)置的特殊字符和操作符,用戶可以實現(xiàn)復(fù)雜的數(shù)據(jù)處理任務(wù)。以下對一些常見的awk特殊字符和操作符
    的頭像 發(fā)表于 07-28 16:38 ?300次閱讀

    C語言精彩編程百例-364頁

    內(nèi)容提要 C是一種通用的程序設(shè)計語言,它包含了緊湊的表達式、豐富的運算集合、現(xiàn)代控制流以及數(shù)據(jù)結(jié)構(gòu)等四個部分。C語言功能豐富,衣達能力強,
    發(fā)表于 06-13 17:28

    深入理解C語言C語言循環(huán)控制

    C語言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復(fù)執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進入無限循環(huán),C語言提供了多種循環(huán)控制語句,如break、continue和
    的頭像 發(fā)表于 04-29 18:49 ?1518次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>C</b><b class='flag-5'>語言</b>循環(huán)控制

    C語言的歷史及程序介紹

    電子發(fā)燒友網(wǎng)站提供《C語言的歷史及程序介紹.pdf》資料免費下載
    發(fā)表于 04-09 16:10 ?0次下載

    必看!15個C語言常見陷阱及避坑指南

    ? C語言雖強大,但隱藏的“坑”也不少!稍不留神就會導(dǎo)致程序崩潰、數(shù)據(jù)異常。本文整理15個高頻陷阱,助你寫出更穩(wěn)健的代碼! ? 陷阱1:運算優(yōu)先級混淆? 問題:運算優(yōu)先級不同可能導(dǎo)
    的頭像 發(fā)表于 03-16 12:10 ?1122次閱讀

    為什么學(xué)了C語言,卻寫不出像樣的項目?

    在學(xué)習(xí)編程的路上,C語言幾乎是每個程序員的“必修課”。不管你是打算從事嵌入式開發(fā)、系統(tǒng)編程,還是想要深入理解操作系統(tǒng)的底層原理,C語言都是一
    的頭像 發(fā)表于 03-14 17:37 ?583次閱讀
    為什么學(xué)了<b class='flag-5'>C</b><b class='flag-5'>語言</b>,卻寫不出像樣的項目?

    全套C語言培訓(xùn)資料—PPT課件

    全套C語言培訓(xùn)資料,共427頁,13個章節(jié):C語言概述、程序的靈魂—算法、數(shù)據(jù)類型 & 運算與表達式、順序程序設(shè)計、選擇結(jié)構(gòu)程序設(shè)
    發(fā)表于 03-12 14:50

    深入理解C語言:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    在程序設(shè)計中,我們常常需要重復(fù)執(zhí)行某一段代碼。為了提高效率和簡化代碼,循環(huán)語句應(yīng)運而生。C語言作為一門經(jīng)典的編程語言,提供了多種循環(huán)控制結(jié)構(gòu),幫助程序員高效地實現(xiàn)重復(fù)
    的頭像 發(fā)表于 12-07 01:11 ?840次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:循環(huán)語句的應(yīng)用與優(yōu)化技巧

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

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

    技術(shù)干貨驛站 ▏深入理解C語言:掌握C語言條件判斷,從if到switch的應(yīng)用

    語句和條件運算。這些結(jié)構(gòu)不僅增強了代碼的靈活性,還提高了程序的可讀性和可維護性。本文將深入探討C語言中的主要條件判斷語句,包括它們的語法、使用方法及實際應(yīng)用,通過
    的頭像 發(fā)表于 11-09 01:10 ?1103次閱讀
    技術(shù)干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b>條件判斷,從if到switch的應(yīng)用

    C語言指針學(xué)習(xí)筆記

    本文從底層內(nèi)存分析,徹底讓讀者明白C語言指針的本質(zhì)。
    的頭像 發(fā)表于 11-05 17:40 ?811次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>指針學(xué)習(xí)筆記

    C語言C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語言C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?973次閱讀

    C語言指針運算詳解

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

    C語言與Java語言的對比

    C語言和Java語言都是當(dāng)前編程領(lǐng)域中的重要成員,它們各自具有獨特的優(yōu)勢和特點,適用于不同的應(yīng)用場景。以下將從語法特性、內(nèi)存管理、跨平臺性、性能、應(yīng)用領(lǐng)域等多個方面對C
    的頭像 發(fā)表于 10-29 17:31 ?1609次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發(fā)領(lǐng)域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統(tǒng)級編程的首選語言之一。
    的頭像 發(fā)表于 10-29 17:30 ?1743次閱讀