C语言类型占内存大小

C语言类型占内存大小

C语言数据类型

sizeof测试基本数据类型所占字符大小

c 复制代码
#include <stdio.h>

int main()
{
    char a;
    short b;
    int c;
    long d;
    float e;
    double f;

    printf("char  = %d\n", sizeof (a));
    printf("short = %d\n", sizeof (b));
    printf("int   = %d\n", sizeof (c));
    printf("long  = %d\n", sizeof (d));
    printf("float = %d\n", sizeof (e));
    printf("double= %d\n", sizeof (f));
    return 0;
}

运行结果

c 复制代码
char  = 1
short = 2
int   = 4
long  = 4 
float = 4
double= 8

数据模型

32位环境涉及"ILP32"数据模型,是因为C数据类型为32位的int、long、指针。而64位环境使用不同的数据模型,此时的long和指针已为64位,故称作"LP64"数据模型。

现今所有64位的类Unix平台均使用LP64数据模型,而64位Windows使用LLP64数据模型,除了指针是64位,其他基本类型都没有变

LP64意思是long和pointer是64位,

ILP64指int,long,pointer是64位,

LLP64指long long和pointer是64-bit的。

ILP32指int,long和pointer是32位的,

LP32指long和pointer是32位的。

相关推荐
java1234_小锋18 小时前
Java线程之间是如何通信的?
java·开发语言
张张努力变强18 小时前
C++ Date日期类的设计与实现全解析
java·开发语言·c++·算法
feifeigo12318 小时前
基于EM算法的混合Copula MATLAB实现
开发语言·算法·matlab
鑫—萍18 小时前
嵌入式开发学习——STM32单片机入门教程
c语言·驱动开发·stm32·单片机·嵌入式硬件·学习·硬件工程
LYS_061819 小时前
RM赛事C型板九轴IMU解算(4)(卡尔曼滤波)
c语言·开发语言·前端·卡尔曼滤波
盛世宏博北京19 小时前
高效环境管控:楼宇机房以太网温湿度精准监测系统方案
开发语言·数据库·php·以太网温湿度变送器
IT猿手19 小时前
六种智能优化算法(NOA、MA、PSO、GA、ZOA、SWO)求解23个基准测试函数(含参考文献及MATLAB代码)
开发语言·算法·matlab·无人机·无人机路径规划·最新多目标优化算法
gfdhy19 小时前
【C++实战】多态版商品库存管理系统:从设计到实现,吃透面向对象核心
开发语言·数据库·c++·microsoft·毕业设计·毕设
忧郁的橙子.19 小时前
26期_01_Pyhton文件的操作
开发语言·python
余瑜鱼鱼鱼20 小时前
线程和进程的区别和联系
java·开发语言·jvm