在c語言中intcharshort三種型別資料在記憶體中

2021-05-22 14:39:02 字數 2589 閱讀 6083

1樓:蔣金多多多

總結一下哈:針對大部分32位機器來說所佔記憶體是: char 字元型 1個;int整型2 個;short 2 個;但是,不同的專機屬器,和不同的編譯軟體下,都會不同。

所以你可以用sizeof()函式測試一下。例sizeof(char);

這裡補充下我的答案,之前回答這個問題時候,自己還是一名微控制器開發愛好者,c51微控制器中的int確實是16位,兩個位元組。

而現在的我從事應用軟體開發,在這些編譯器中(比如vs、gcc),int一般都是4位的(無論32位還是64位)。事實上,一個比較官方的解釋是:編譯器可以根據自身硬體來選擇合適的大小,但是需要滿足約束:

short和int型至少為16位,long型至少為32位,並且short型長度不能超過int型,而int型不能超過long型。這即是說各個型別的變數長度是由編譯器來決定的。

2樓:匿名使用者

通常char佔1個位元組,short佔2個位元組。原因是,1個位元組可以表示一個ascii碼,為了提高計算機的數版據處理權能力,short用一個位元組遠遠不足,但限於早年的儲存器體積和**,用2個位元組也是不得以的事情。現在,儲存器的體積不再是考慮的因素,**也不是「事」,cpu的資料暫存器已經是64位(8個位元組),32位的cpu已近末日黃昏,所以short用8個位元組表示不再是夢。

所謂64位的cpu,指的就是其資料暫存器(包括指令暫存器)的寬度是64bits,一次讀取、儲存64bits最為快捷,這就是int型別資料的標準寬度。

3樓:匿名使用者

一般來說

int 4位元組

char 1位元組

short 2位元組

由編譯器決定的,編譯器會根據系統平臺自己改變資料型別的取值範圍。

4樓:匿名使用者

理論像樓上說的這樣,實際上int型變數要看機器32位和64位機器是不同的,你可以用

sizeof()函式測試一下

5樓:

16位編譯器

char :1個字

節char*(即指標變數): 2個位元組專

屬short int : 2個位元組

int: 2個位元組

unsigned int : 2個位元組

float: 4個位元組

double: 8個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

32位編譯器

char :1個位元組

char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。同理64位編譯器)

short int : 2個位元組

int: 4個位元組

unsigned int : 4個位元組

float: 4個位元組

double: 8個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

64位編譯器

char :1個位元組

char*(即指標變數): 8個位元組

short int : 2個位元組

int: 4個位元組

unsigned int : 4個位元組

float: 4個位元組

double: 8個位元組

long: 8個位元組

long long: 8個位元組

unsigned long: 8個位元組

6樓:六閒村

字元型 char 1 位元組

整型 int 2 位元組

short 2 位元組

長整型 long 4 位元組

單精度 float 4 位元組

雙精度 double 8 位元組

7樓:匿名使用者

是由c語言編譯器來決定的!

求, c語言中所有常見的資料型別(如short,float,int,char,等等)在記憶體中所佔的

8樓:匿名使用者

變數佔用記憶體位元組

由作業系統決定,

64位系統中,long佔用8位元組,……

32位作業系統中,回int,long佔用4位元組答,short佔用2位元組……

16位系統中,int佔用2位元組,……

數字3佔用多少,和你宣告的的型別有關,

在32位系統中,將3賦值給short型變數,他就佔用2個位元組,如果賦值給int型,他就佔用4個位元組

可以用sizeof這個函式來計算。例子:

int x, n;

n = sizeof(x);

n的值就是結果。使用sizeof求,

#include

int main()

不同軟體編譯答案不同

9樓:匿名使用者

字元型 char 1 位元組

整型 int 2 位元組 short 2 位元組長整型 long 4 位元組

單精度 float 4 位元組

雙精度 double 8 位元組

c語言中exit怎麼定義,在C語言中,exit 0 是什麼意思

函式名 exit 所在標頭檔案 stdlib.h 功 能 關閉所有檔案,終止正在執行的程式。exit 1 表示回異常退出.這個答1是返回給作業系統的不過在dos好像不需要這個返回值 exit x x不為0 都表示異常退出 exit 0 表示正常退出 用 法 void exit int status ...

c語言中extern是什麼意思,在C語言中標頭檔案的extern是什麼意思呢?

extern 宣告的函式是在外部定義的函式例項,最常見的就是通過extern定義在win32 dll定義的非託管函式。就是全域性變數的意思,在建立工程的情況下,其他檔案也可以呼叫這個變數。用了extern,就表示這個變數是全域性的和動態的,不存在使用哪一個的問題.比如3號檔案的int a變成289了...

在c語言中如何用log函式啊,在C語言中如何用log函式啊?

把printf m 5.2 f n m 改為printf m 5.2f n m c語言中log函式怎麼使用啊 1 c語言中,有兩個log函式,分別 為log10和log函式,具體用法如下 2 函式名 log10 功 能 對數函式log,以10為底 用 法 double log10 double x ...