news 2026/9/29 20:39:25

C数据类型与内存大小深度解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C数据类型与内存大小深度解析

文章目录

  • C数据类型与内存大小深度解析
    • 1. 内存大小与类型的关系
    • 2. 内存布局可视化示例
    • 3. 内存优化技巧
    • 4. 内存限制检查
    • 5. 实用内存计算工具函数
    • 关键总结:
      • 1. 数据类型大小规则
      • 2. 内存对齐原则
      • 3. 内存优化技巧
      • 4. 内存层次
      • 5. 内存计算公式
      • 6. 跨平台注意事项

C数据类型与内存大小深度解析

1. 内存大小与类型的关系

#include<stdio.h>#include<stdint.h>#include<stddef.h>intmain(){// 1. 基本类型的大小(单位:字节)printf("=== 基本数据类型大小 ===\n");printf("char: %2zu 字节\n",sizeof(char));printf("short: %2zu 字节\n",sizeof(short));printf("int: %2zu 字节\n",sizeof(int));printf("long: %2zu 字节\n",sizeof(long));printf("long long: %2zu 字节\n",sizeof(longlong));printf("float: %2zu 字节\n",sizeof(float));printf("double: %2zu 字节\n",sizeof(double));printf("long double: %2zu 字节\n",sizeof(longdouble));printf("void*: %2zu 字节(指针大小)\n",sizeof(void*));// 2. 固定宽度整数类型(C99标准)printf("\n=== 固定宽度整数类型 ===\n");printf("int8_t: %2zu 字节,范围: %d 到 %d\n",sizeof(int8_t),INT8_MIN,INT8_MAX);printf("uint8_t: %2zu 字节,范围: 0 到 %u\n",sizeof(uint8_t),UINT8_MAX);printf("int16_t: %2zu 字节,范围: %d 到 %d\n",sizeof(int16_t),INT16_MIN,INT16_MAX);printf("uint16_t: %2zu 字节,范围: 0 到 %u\n",sizeof(uint16_t),UINT16_MAX);printf("int32_t: %2zu 字节,范围: %d 到 %d\n",sizeof(int32_t),INT32_MIN,INT32_MAX);printf("uint32_t: %2zu 字节,范围: 0 到 %u\n",sizeof(uint32_t),UINT32_MAX);printf("int64_t: %2zu 字节,范围: %lld 到 %lld\n",sizeof(int64_t),INT64_MIN,INT64_MAX);printf("uint64_t: %2zu 字节,范围: 0 到 %llu\n",sizeof(uint64_t),UINT64_MAX);// 3. 内存对齐的重要性printf("\n=== 结构体内存对齐 ===\n");structUnaligned{chara;// 1字节intb;// 4字节charc;// 1字节}unaligned;structAligned{intb;// 4字节chara;// 1字节charc;// 1字节}aligned;printf("非对齐结构体大小: %zu 字节\n",sizeof(unaligned));printf("优化对齐结构体大小: %zu 字节\n",sizeof(aligned)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 2:36:17

渗透测试怎么做?渗透测试的8个步骤(超详细),小白必看!

渗透测试与入侵的区别 渗透测试&#xff1a;以安全为基本原则&#xff0c;通过攻击者以及防御者的角度去分析目标所存在的安全隐患以及脆弱性&#xff0c;以保护系统安全为最终目标。 入侵&#xff1a;通过各种方法&#xff0c;甚至破坏性的操作&#xff0c;来获取系统权限以…

作者头像 李华
网站建设 2026/9/27 22:12:52

大模型微调基础:参数量与显存占用的关系全解析

想在本地玩玩大模型DeepSeek&#xff0c;刚一开口&#xff0c;技术圈的朋友就抛来一连串问题&#xff1a;“你跑的哪个版本&#xff1f;32B的&#xff1f;70B的&#xff1f;还是传说中的671B满血版&#xff1f;” 是不是瞬间感觉自己像个小白&#xff0c;耳朵都快听出茧子了&am…

作者头像 李华
网站建设 2026/9/26 17:55:14

阿西米尼Asciminib用于慢性髓系白血病治疗的每日两次口服标准剂量

阿西米尼&#xff08;Asciminib&#xff09;作为全球首个STAMP抑制剂&#xff0c;凭借其独特的靶向ABL肉豆蔻酰口袋的机制&#xff0c;为慢性髓系白血病&#xff08;CML&#xff09;患者提供了突破性治疗选择。其每日两次口服方案在耐药患者中展现出显著疗效&#xff0c;尤其针…

作者头像 李华
网站建设 2026/9/29 9:42:10

开题报告 springboot和vue病例管理系统

目录系统背景与意义技术选型核心功能模块创新点技术难点与解决方案项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作系统背景与意义 基于SpringBoot和Vue的病例管理系统旨在解决传统医疗信息管理中的低效问…

作者头像 李华
网站建设 2026/9/28 1:13:58

基于深度学习YOLOv12的垃圾分类识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 随着城市化进程加快&#xff0c;垃圾分类已成为环保领域的重要议题。传统垃圾分类方法依赖人工分拣&#xff0c;效率低且成本高。为此&#xff0c;本研究基于YOLOv12深度学习算法&#xff0c;开发了一套高效准确的垃圾分类识别检测系统。系统针对4类垃圾&#xf…

作者头像 李华