在c語言程式設計得時候,經常需要知道程式編譯器對各種資料型別分配的儲存空間大小,進而進行精確的記憶體操作。下面給出一種探測方法,
#define print_size(type) dowhile(0)
// typesize.c
#include
#define print_size(type) dowhile(0)
int main(int argc, char* argv)
編譯並測試
$ gcc --version
gcc (gcc) 4.8
.520150623 (red hat 4.8
.5-4)
this is free software; see the source for copying conditions. there is no
warranty; not even for merchantability or fitness for a particular purpose.
$ cat /proc/version
linux version 3.10
.0-327.22
.2.el7
.x86_64 ([email protected]
.centos
.org) (gcc version 4.8
.320140911 (red hat 4.8
.3-9) (gcc) ) #1 smp thu jun 23 17:05:11 utc 2016
$ gcc typesize.c && ./a.out
sizeof(char)=1
sizeof(unsigned
char)=1
sizeof(short)=2
sizeof(unsigned
short)=2
sizeof(int)=4
sizeof(unsigned
int)=4
sizeof(long)=8
sizeof(float)=4
sizeof(double)=8
01 整型資料型別儲存空間大小
總時間限制 1000ms 記憶體限制 65536kb 描述 分別定義int,short型別的變數各乙個,並依次輸出它們的儲存空間大小 單位 位元組 輸入 無。輸出 一行,兩個整數,分別是兩個變數的儲存空間大小,用乙個空格隔開。樣例輸入 無 樣例輸出 不提供 提示 使用sizeof函式可以得到乙個特定...
005 整型資料型別儲存空間大小
總時間限制 1000ms 記憶體限制 65536kb 描述分別定義int,short型別的變數各乙個,並依次輸出它們的儲存空間大小 單位 位元組 輸入無。輸出一行,兩個整數,分別是兩個變數的儲存空間大小,用乙個空格隔開。樣例輸入 無 樣例輸出 不提供 提示 使用sizeof函式可以得到乙個特定變數的...
C 資料型別大小
iostream void main 輸出結果 size of bool 1 bytes size of char 1 bytes size of unsigned char 1 bytes size of wchar t 2 bytes size of short 2 bytes size of ...