以下是关于数据类型的详细介绍,内容进行了伪原创处理,以保持原意不变。
类型的意义:
类型的基本归类:
void test(){} // void test(void){} void* p
当创建一个变量时,需要在内存中分配空间。空间的大小取决于不同的类型。
那么,数据在所分配的内存中是如何存储的呢?
立即学习“C语言免费学习笔记(深入)”;
#include<stdio.h> int main(){ int a = 20; int b = -10; return 0; }
我们知道为 a 分配了四个字节的空间。那么,a 是如何存储的呢?
计算机中的整数有三种二进制表示方法,即原码、反码和补码。 三种表示方法均有符号位和数值位两部分,符号位用0表示“正”,用1表示“负”,而正数的原码、反码、补码都相同。
负整数的三种表示方法各不相同:
#include<stdio.h> int main(){ int a = 20; // 正数的原码、反码、补码都一样 // a的原码:00000000 00000000 00000000 00010100 // a的补码:00000000 00000000 00000000 00010100 // a的反码:00000000 00000000 00000000 00010100 int b = -10; // b的原码:10000000 00000000 00000000 00001010 // b的反码:11111111 11111111 11111111 11110101 // b的补码:11111111 11111111 11111111 11110110 return 0; }
对于整型来说,数据在内存中实际存储的是补码。
我们可以看到,对于a和b分别存储的是补码。但是我们发现顺序有点不对劲。这是为什么呢?
大端和小端是指数据在内存中的存储顺序。大端字节序(Big Endian)是指数据的高位字节存储在低地址,而小端字节序(Little Endian)是指数据的低位字节存储在低地址。
大端和小端的存在主要是为了解决不同处理器架构之间的兼容性问题。不同的处理器可能会采用不同的字节序,因此在数据传输和存储时需要考虑字节序的问题。
以上就是C语言进阶:一.数据的存储(1)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号