总结
豆包 AI 助手文章总结

C语言进阶:一.数据的存储(1)

看不見的法師
发布: 2025-04-27 15:58:22
原创
362人浏览过

以下是关于数据类型的详细介绍,内容进行了伪原创处理,以保持原意不变。

1. 数据类型详细介绍

1.1 类型简介

类型的意义:

  1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)
  2. 如何看待内存空间的视角

类型的基本归类:

  • 整型数据:用于存储整数值,如int、short、long等。
  • 浮点数类型:用于存储带小数点的数值,如float、double。
  • 自定义类型:由用户定义的数据结构,如结构体、联合体等。
  • 指针类型:用于存储内存地址的变量。
  • 空类型:表示无类型或无返回值,如void。
void test(){} // void test(void){}
void* p
登录后复制

1.2 整型在内存中的存储

当创建一个变量时,需要在内存中分配空间。空间的大小取决于不同的类型。

那么,数据在所分配的内存中是如何存储的呢?

立即学习C语言免费学习笔记(深入)”;

#include<stdio.h>
int main(){
    int a = 20;
    int b = -10;
    return 0;
}
登录后复制

C语言进阶:一.数据的存储(1)

我们知道为 a 分配了四个字节的空间。那么,a 是如何存储的呢?

2. 整型在内存中的存储:原码、反码、补码

计算机中的整数有三种二进制表示方法,即原码、反码和补码。 三种表示方法均有符号位和数值位两部分,符号位用0表示“正”,用1表示“负”,而正数的原码、反码、补码都相同。

负整数的三种表示方法各不相同:

  • 原码:直接将数值按照正负数的形式翻译成二进制就可以得到原码。
  • 反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。
  • 补码:反码加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;
}
登录后复制

对于整型来说,数据在内存中实际存储的是补码。

C语言进阶:一.数据的存储(1)

我们可以看到,对于a和b分别存储的是补码。但是我们发现顺序有点不对劲。这是为什么呢?

3. 大小端字节序介绍及判断

1. 什么是大端小端?

大端和小端是指数据在内存中的存储顺序。大端字节序(Big Endian)是指数据的高位字节存储在低地址,而小端字节序(Little Endian)是指数据的低位字节存储在低地址。

2. 为什么有大端和小端?

大端和小端的存在主要是为了解决不同处理器架构之间的兼容性问题。不同的处理器可能会采用不同的字节序,因此在数据传输和存储时需要考虑字节序的问题。

以上就是C语言进阶:一.数据的存储(1)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号