C語言中不同資料型別在記憶體中所佔據的位元組大小

2021-03-04 05:12:23 字數 2261 閱讀 2798

1樓:

型別 位元組

char 1short int 2int 2(tc)/4(vc)long 4float 4double 8long double 10

2樓:匿名使用者

char 1個位元組

int 2個位元組(16位系統),4個位元組(32位系統)float 8個位元組

自定義型別注意記憶體對齊

3樓:匿名使用者

printf("%d",sizeof(要檢視的型別));

c語言中不同資料型別在記憶體中所佔據的位元組大小是多少?

4樓:

型別 位元組

char 1short int 2int 2(tc)/4(vc)long 4float 4double 8long double 10

利用sizeof() 函式計算c語言中各種資料型別所佔用的儲存空間的大小

5樓:樂跑小子

列舉型別,在c語言中求sizeof,可以先定義乙個列舉型別,然後對列舉型別中的元素,或者對型別求size,獲取到記憶體長。

**如下

#include

enum test

;int main()

對於列舉型別,區分是否有負數值,系統會按照unsigned int或int來處理,而是否帶符號,並不影響int的佔用空間。所以任意列舉型別或列舉變數,佔用的空間都是和平台實現時的int型別相同。對於主流的32位/64位平台,列舉型別均佔4位元組。

即sizeof結果為4。

6樓:匿名使用者

這個..直接sizeof(int); sizeof(float); ...就可以,注意使用%u輸出控制符

例如printf("int資料型別佔用%u位元組\n", sizeof(int));

輸出就是

int資料型別佔用4位元組

在c語言中各種資料型別各佔多少位

7樓:物理公司的

^(一)32位平台:

分為有符號型與無符號型。

有符號型:

short 在記憶體中佔兩個位元組,範圍為-2^15~(2^15-1)

int 在記憶體中佔四個位元組,範圍為-2^31~(2^31-1)

long在記憶體中佔四個位元組,範圍為-2^31~2^31-1

無符號型:最高位不表示符號位

unsigned short 在記憶體中佔兩個位元組,範圍為0~2^16-1

unsigned int 在記憶體中佔四個位元組,範圍為0~2^32-1

unsigned long在記憶體中佔四個位元組,範圍為0~2^32-1

實型變數:

分單精度 float 和雙精度 double 兩種形式:

float:佔四個位元組,提供7~8位有效數字。

double: 佔八個位元組,提供15~16位有效數字。

(二)16位平台:

1)整型(基本型):型別說明符為int,在記憶體中佔2個位元組。

2)短整型:型別說明符為short int或short。所佔位元組和取值範圍均與整型(基本型)相同。

3)長整型:型別說明符為long int或long,在記憶體中佔4個位元組。

無符號型:型別說明符為unsigned。

無符號型又可與上述三種型別匹配而構成:

各種無符號型別量所佔的記憶體空間位元組數與相應的有符號型別量相同。但由於省去了符號位,故不能表示負數。

實型變數:

分為單精度(float型)、雙精度(double型)和長雙精度(long double型)三類。

單精度型佔4個位元組(32位)記憶體空間,其數值範圍為3.4e-38~3.4e+38,只能提供七位有效數字。

雙精度型佔8 個位元組(64位)記憶體空間,其數值範圍為1.7e-308~1.7e+308,可提供16位有效數字。

長雙精度型16 個位元組(128位)記憶體空間,可提供18-19位有效數字。

C語言中不同資料型別的混合運算,c語言不同資料型別間的混合運算

再回來說下,你可以這樣進行檢測,看隱式轉換的問題還是溢位的問題 typedef unsigned long long uint64 最新的編譯器都支援這種用法吧,總之你找個能表示64位的longlong就行了.uint cout uint64 iu uint i endl 這裡先將i轉換成uint型...

C的基本資料型別包括哪些,C語言中基本資料型別包括哪些

語言包含5個基本資料copy 型別 void,int,float,double,和 char.c 定義了另外兩個基本資料型別 bool 和 wchar t.一些基本資料型別能夠被 signed,unsigned,short,和 long 修飾 所以short,long等等都不算基本資料型別。這是書上...

c語言中各資料型別不能進行哪些運算?

首先,你得明白什麼是資料型別?我們知道資料在記憶體中儲存都是按照位元組為單位儲存的,如何來表示乙個整形或乙個字元型等等資料,這就要用到資料型別了,所以,所謂的資料型別,其實就是用來標識資料佔據幾個位元組等資訊引數的,系統資料型別很好理解,自定義的資料型別 如用struct或class來定義的 其實也...