tft每日頭條

 > 科技

 > c語言中幾種數據類型所占字節

c語言中幾種數據類型所占字節

科技 更新时间:2024-09-18 10:26:04
在C語言中,數據類型分為:基本數據類型,和複雜數據類型。基本數據類型包括:int、long、short、char、folat、double;複雜數據類型有:數組、結構體、枚舉體。此外,還有一個較為特殊的數據類型:指針。

在C語言中,檢測某一個數據類型所占據的内存大小,也即:所占據的内存中的字節數,可以使用一個關鍵字來檢測,sizeof,這個關鍵字,是一個運算符,與加( )減(-)乘(*)除(/)是一樣的,都屬于運算符。

我們可以寫一段程序,來檢測各個數據類型,所占據的内存中的字節個數,程序代碼如下圖所示:

c語言中幾種數據類型所占字節(簡述在C語言中計算各數據類型所占據的字節數的方法)1

C語言示例代碼

上述C語言程序中,第23行和第24行,就是在計算各個數據類型所占據的字節數,使用了sizeof關鍵字。最終,計算出來的結果如下圖所示:

c語言中幾種數據類型所占字節(簡述在C語言中計算各數據類型所占據的字節數的方法)2

C語言示例代碼的執行結果

我們可以看到,上述結果就是示例代碼中,各個數據類型所占據的字節數。

變量a是整型(int),占據4個字節;變量b是短整型(short),占據2個字節;變量c是字符型(char),占據1個字節;變量e是單精度浮點型(float),占據4個字節;變量f是雙精度浮點型(double),占據8個字節;變量g屬于自定義的一個數據類型,來源于結構體stu,它所占據的字節數是16

其中,結構體變量g的總體占據的字節數,本來應該是:sizeof(int) sizeof(char) sizeof(double) = 4 1 8=13,但是上面程序所示結果為16,這是因為有一個“内存地址對齊”的概念,比如:第一個int型變量的起始位置為0x0000,那麼第二個char類型變量的起始位置是0x0004,第三個double類型的變量起始位置是0x0008,而double型變量的結束位置是:0x000F,所以,整個結構體變量g的内存位置是:0x0000到0x000F,加起來一共是16個字節數。

在不同的系統上,有的數據類型所占據的字節數不一樣。比如,在32位系統上,int型數據所占據的字節數是4,long類型數據所占據的字節數是4;在64位系統上,int型數據占據4個字節,long類型數據占據8個字節;在16位系統上,int型數據占據2個字節,long類型數據占據4個字節。

獲取方式:

1.在你手機的右上角有【關注】選項,或點擊我的頭像,點擊關注!(關注我)

2.關注後,手機客戶端點擊我的主頁面,右上角有私信,請私信發我:編程

電腦已經設置好了關鍵詞自動回複,自動領取就好了!這幾天上萬個消息,真的回複不過來,所以回複的時候請注意關鍵詞!

其實做為一個開發者,有一個學習的氛圍跟一個交流圈子特别重要這裡請私信我“編程”不管你是小白還是大牛歡迎入住大家一起交流成長。小編會在裡面不定期分享幹貨源碼,包括我精心整理的一份c 零基礎教程。歡迎各位感興趣的的小夥伴。

學習思路:

c語言中幾種數據類型所占字節(簡述在C語言中計算各數據類型所占據的字節數的方法)3

學習資料:

c語言中幾種數據類型所占字節(簡述在C語言中計算各數據類型所占據的字節數的方法)4

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved