C語言第三篇:C語言資料型別及各資料型別所佔記憶體位元組數

qq_30866297發表於2016-03-20

摘要:


出差兩天,沒有及時寫C語言學習部落格,今天回來後立馬補上。在這篇部落格裡要總結兩個東西,一個是C語言的資料型別,另一個是各資料型別在記憶體中所佔位元組數。



一、C語言的資料型別




更詳細的介紹(如基本資料型別在記憶體中的儲存方式、整正負數表示、小數表示、技巧等等)將在後面繼續進行補充,有任何一點疑問都絕不會放過。


二、各資料型別的位元組數


對於C語言各資料型別在記憶體中所佔用的位元組數,有很多籠統的說法,難免看得人云裡霧裡。各資料型別的位元組數與三方面因素有關,

(1)CPU位寬

(2)作業系統位寬

(3)編譯器型別和版本

其實,最簡單的方法是,使用sizeof()函式測試一下。下面給出我編譯環境、測試程式碼和測試結果:


CPU與OS資訊




編譯器:Code::Blocks 13.1.2x_86


測試程式碼:


/*
*Copyright (c)2016,劉兵馬俑
*All rights reserved.
*檔名稱:main.c
*作    者:劉兵馬俑
*完成日期:2016/03/20
*版 本 號:v1.0
*問題描述:C語言的資料型別位元組數
*程式輸出:C語言的資料型別位元組數
*/
#include <stdio.h>

int main()
{
    printf("Size of int is:%d\n", sizeof(int));
    printf("Size of unsigned int is:%d\n", sizeof(unsigned int));
    printf("Size of short is:%d\n", sizeof(short));
    printf("Size of unsigned short is:%d\n", sizeof(unsigned short));
    printf("Size of long is:%d\n", sizeof(long));
    printf("Size of unsigned long is:%d\n", sizeof(unsigned long));
    printf("Size of long long is:%d\n", sizeof(long long));
    printf("Size of unsigned long long is:%d\n", sizeof(unsigned long long));
    printf("Size of char is:%d\n", sizeof(char));
    printf("Size of signed char is:%d\n", sizeof(signed char));
    printf("Size of unsigned char is:%d\n", sizeof(unsigned char));
    printf("Size of float is:%d\n", sizeof(float));
    printf("Size of double is:%d\n", sizeof(double));
    printf("Size of long double is:%d\n", sizeof(long double));
    return 0;
}


測試結果:







相關文章