枚舉占多少字節(jié) C語(yǔ)言中如何控制枚舉類(lèi)型占用空間的大???
C語(yǔ)言中如何控制枚舉類(lèi)型占用空間的大?。繕?biāo)準(zhǔn)C沒(méi)有指定枚舉類(lèi)型占用的空間大小。它只說(shuō)“枚舉類(lèi)型的大小是可以容納最大枚舉數(shù)的值的整數(shù)的大小”。同時(shí)還規(guī)定了“枚舉類(lèi)型中枚舉數(shù)的值必須用int類(lèi)型表示”,即
C語(yǔ)言中如何控制枚舉類(lèi)型占用空間的大?。?/h2>
標(biāo)準(zhǔn)C沒(méi)有指定枚舉類(lèi)型占用的空間大小。它只說(shuō)“枚舉類(lèi)型的大小是可以容納最大枚舉數(shù)的值的整數(shù)的大小”。同時(shí)還規(guī)定了“枚舉類(lèi)型中枚舉數(shù)的值必須用int類(lèi)型表示”,即枚舉類(lèi)型的大小不能超過(guò)int類(lèi)型Inch的大小,但必須與int類(lèi)型的大小相同嗎?上面的標(biāo)準(zhǔn)已經(jīng)非常明確,只要整數(shù)能容納最大枚舉數(shù)的值,就可以是char,short和int不同的C編譯器對(duì)枚舉類(lèi)型的大小定義不同,但是程序員不能認(rèn)為修改枚舉類(lèi)型會(huì)占用空間。
利用sizeof() 函數(shù)計(jì)算C語(yǔ)言中各種數(shù)據(jù)類(lèi)型所占用的存儲(chǔ)空間的大???
枚舉類(lèi)型,在C語(yǔ)言中查找sizeof,可以先定義一個(gè)枚舉類(lèi)型,然后計(jì)算枚舉類(lèi)型中的元素或類(lèi)型的大小來(lái)獲得內(nèi)存長(zhǎng)度。代碼如下#include<stdio。H>enum test{Test0,test1,test2}int main(){printf(“測(cè)試大小為%dn”,sizeof(test))//按類(lèi)型計(jì)算大小。Printf(“size of test is%dn”,sizeof(test1))//查找元素的大小。Return 0}對(duì)于枚舉類(lèi)型,是否有負(fù)值根據(jù)unsigned int或int來(lái)處理,是否有符號(hào)不影響int的占用空間,因此在平臺(tái)實(shí)現(xiàn)中,任何枚舉類(lèi)型或枚舉變量都會(huì)占用與int類(lèi)型相同的空間。對(duì)于主流32位/64位平臺(tái),枚舉類(lèi)型占4字節(jié)。結(jié)果的大小是4。
C語(yǔ)言的數(shù)據(jù)類(lèi)型分為幾種?
你好
!Short、int、long、char、float和double代表C語(yǔ)言中的六種基本數(shù)據(jù)類(lèi)型。
在不同的系統(tǒng)上,這些類(lèi)型占用不同的字節(jié)長(zhǎng)度:
在32位系統(tǒng)上
short占用2字節(jié);
int占用4字節(jié);
long占用4字節(jié);
float占用4字節(jié);
double占用8字節(jié);
char占用1字節(jié)內(nèi)存。
您可以使用sizeof進(jìn)行測(cè)試。
c語(yǔ)言中有哪些類(lèi)型?
1. 數(shù)據(jù)計(jì)算類(lèi)型不同?;緮?shù)據(jù)類(lèi)型分為三種:整數(shù)類(lèi)型(定點(diǎn)類(lèi)型)、實(shí)數(shù)類(lèi)型(浮點(diǎn)類(lèi)型)和字符類(lèi)型。除了基本數(shù)據(jù)類(lèi)型外,還有構(gòu)造類(lèi)型(數(shù)組、結(jié)構(gòu)、公共體、枚舉類(lèi)型)、指針類(lèi)型、空類(lèi)型void。
2. 不同數(shù)據(jù)類(lèi)型的關(guān)鍵字是不同的。Short、long、int、float、double和char是C語(yǔ)言中的六種基本數(shù)據(jù)類(lèi)型。
3. 不同的數(shù)據(jù)類(lèi)型占用不同大小的內(nèi)存。短占2byte,int占4byte,長(zhǎng)占4byte,float占2byte,double占8byte,char占1byte(不同平臺(tái)可能占用不同的內(nèi)存大小,具體可以使用sizeof test)。