数据类型占内存的位数和操作系统的位数以及编译器有关,编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的。
一般在32位或64位系统中int型都是占用4字节,在16位系统中占用2字节
| C类型 | 32位系统占用字节数 | 64位系统占用字节数 |
|---|---|---|
| char | 1 | 1 |
| short int | 2 | 2 |
| int | 4 | 4 |
| long int | 4 | 8 |
| long long int | 8 | 8 |
| char* | 4 | 8 |
| float | 4 | 4 |
| double | 8 | 8 |
指针类型存储的是所指向变量的地址,所以32位机器只需要32bit,64位机器需要64bit。
ASCII码表

| ASCII码 | 字符 |
|---|---|
| 0 | 空字符 |
| 48~57 | 0~9 |
| 65~90 | A~Z |
| 97~122 | a~z |
本文详细解析了不同数据类型在32位与64位系统中的内存占用情况,揭示了编译器如何根据硬件特性选择合适的变量长度。同时,文章提供了ASCII码表,帮助读者理解字符编码。
4333

被折叠的 条评论
为什么被折叠?



