最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中sizeof函數(shù)踩過的坑總結(jié)

 更新時(shí)間:2022年04月09日 10:55:38   作者:LittCroco  
sizeof是C語言的一種單目操作符,如C語言的其他操作符++、--等。它并不是函數(shù)。sizeof操作符以字節(jié)形式給出了其操作數(shù)的存儲(chǔ)大小。操作數(shù)可以是一個(gè)表達(dá)式或括在括號(hào)內(nèi)的類型名。操作數(shù)的存儲(chǔ)大小由操作數(shù)的類型決定

sizeof很簡單,但是卻很容易令人踩坑。

正文

先來看這樣一段代碼

int main()
{
int i=2;
printf("%d\n",sizeof(i++));
printf("%d\n",i);
return 0;
}

非常簡單的一段代碼

當(dāng)時(shí)我認(rèn)為答案應(yīng)該是

4

3

可是結(jié)果卻是出乎我的意料了

這是為什么呢?

下面來仔細(xì)說一下

在這里插入圖片描述

在這里插入圖片描述

通過調(diào)試觀察雖然確實(shí)有i++這么一句代碼,但是卻沒有實(shí)現(xiàn)。說到這里很多人可能犯了和我一樣的錯(cuò)誤,認(rèn)為sizeof是一個(gè)函數(shù)。

其實(shí)并非如此,sizeof其實(shí)是單目操作符的一種,可以求變量類型所占用的空間,單位是字節(jié)。

說到這里就應(yīng)該和strlen函數(shù)區(qū)分開,strlen函數(shù)求的是字符串的字符數(shù),不包括’\0’,而sizeof由于求的是字節(jié)數(shù),會(huì)將’\0’計(jì)算上。

再說幾個(gè)與sizeof這種情況類似的,避免踩坑。

邏輯操作符 &&和 ||也會(huì)產(chǎn)生這樣的坑

來看這樣一道題

int main()
{
	int i = 0, a = 0, b = 2, c = 3, d = 4;
	i = a++ && ++b && c++;
	//i = a++||++b||c++;
	printf("a = %d\nb = %d\nc = %d\n", a, b, c);
	return 0;
}

答案:

請(qǐng)?zhí)砑訄D片描述

這里大家或許就有疑問了,這個(gè)b為什么不等于2呢,這個(gè)c為什么不等于4呢,這不是后置++了嗎?

其實(shí)邏輯操作符在運(yùn)算過程中并不會(huì)把每個(gè)對(duì)象都計(jì)算到,就拿這個(gè)舉例子,由于是后置++,a此時(shí)還等于0,對(duì)于&&邏輯與來說,答案已經(jīng)顯而易見了,0和任何數(shù)邏輯與都等于0。所以后面的b++,和c++并沒有被計(jì)算到。

我想邏輯或也是同理吧,只有有一個(gè)”真“,邏輯或得到的就是”真“。

這就意味著c++并沒實(shí)現(xiàn)。

在這里插入圖片描述

到此這篇關(guān)于C語言中sizeof()方法踩過的坑總結(jié)的文章就介紹到這了,更多相關(guān)C語言 sizeof內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實(shí)現(xiàn)快速排序(Quicksort)算法

    C++實(shí)現(xiàn)快速排序(Quicksort)算法

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)快速排序(Quicksort)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 詳解C++中二進(jìn)制求補(bǔ)運(yùn)算符與下標(biāo)運(yùn)算符的用法

    詳解C++中二進(jìn)制求補(bǔ)運(yùn)算符與下標(biāo)運(yùn)算符的用法

    這篇文章主要介紹了C++中二進(jìn)制求補(bǔ)運(yùn)算符與下標(biāo)運(yùn)算符的用法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-01-01
  • 詳解C語言中數(shù)據(jù)的存儲(chǔ)

    詳解C語言中數(shù)據(jù)的存儲(chǔ)

    這篇文章主要為大家介紹了C語言中數(shù)據(jù)的存儲(chǔ),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • VC中刪除類的兩種操作方法

    VC中刪除類的兩種操作方法

    這篇文章主要介紹了VC中刪除類的兩種操作方法,較為詳細(xì)的描述了在VC中實(shí)現(xiàn)刪除類的具體步驟,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • C/C++ 中g(shù)cc和g++的對(duì)比與區(qū)別

    C/C++ 中g(shù)cc和g++的對(duì)比與區(qū)別

    這篇文章主要介紹了C/C++ 中g(shù)cc和g++的對(duì)比與區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Qt QStandardItemModel用法小結(jié)

    Qt QStandardItemModel用法小結(jié)

    QStandardItemModel可用作標(biāo)準(zhǔn)Qt數(shù)據(jù)類型的存儲(chǔ)庫,本文主要介紹了Qt QStandardItemModel用法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • C++ OpenCV實(shí)現(xiàn)圖像修復(fù)功能

    C++ OpenCV實(shí)現(xiàn)圖像修復(fù)功能

    這篇文章主要介紹了通過C++ OpenCV中提供的inpaint API實(shí)現(xiàn)對(duì)有瑕疵的圖像進(jìn)行修復(fù),文中的方法講解詳細(xì),感興趣的同學(xué)可以跟隨小編一起學(xué)習(xí)一下
    2022-01-01
  • C語言所有經(jīng)典排序方法的實(shí)現(xiàn)代碼

    C語言所有經(jīng)典排序方法的實(shí)現(xiàn)代碼

    這篇文章給大家分享C語言所有經(jīng)典排序方法,文章給大家提供完整的實(shí)例代碼幫助大家快速學(xué)習(xí)掌握C語言排序方法,感興趣的朋友一起看看吧
    2021-06-06
  • C語言中操作字符串的函數(shù)詳解

    C語言中操作字符串的函數(shù)詳解

    這篇文章主要為大家詳細(xì)介紹了C語言中操作字符串的函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 基于Matlab實(shí)現(xiàn)中國象棋的示例代碼

    基于Matlab實(shí)現(xiàn)中國象棋的示例代碼

    中國象棋是起源于中國的一種棋,屬于二人對(duì)抗性游戲的一種,在中國有著悠久的歷史。由于用具簡單,趣味性強(qiáng),成為流行極為廣泛的棋藝活動(dòng)。本文將利用Matlab實(shí)現(xiàn)這一游戲,需要的可以參考一下
    2022-02-02

最新評(píng)論

哈巴河县| 密山市| 宁强县| 安徽省| 柳林县| 阿克| 东阿县| 湘阴县| 江达县| 财经| 上栗县| 松滋市| 公主岭市| 永兴县| 五华县| 吉林市| 云林县| 广元市| 蕲春县| 稷山县| 天全县| 洪江市| 阿鲁科尔沁旗| 浦北县| 嘉兴市| 托克逊县| 合江县| 深圳市| 依兰县| 剑阁县| 密云县| 申扎县| 阳高县| 麻江县| 永春县| 宝山区| 三穗县| 乐亭县| 红河县| 牙克石市| 临沧市|