工具 探測資料型別儲存空間大小

2021-08-24 17:34:53 字數 1099 閱讀 7824

在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 ...