C语言常见数据类型字节数和打印格式总结(快速掌握)

一、简介

本文主要介绍C语言常见数据类型字节数、不同类型输出格式和c程序中不同类型的简写总结。c语言中,常见数据类型的字节数和机器字长及编译器有关系,所以,int、long int、short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):

sizeof(short int)<=sizeof(int)sizeof(int)<=sizeof(long int)short int至少应为16位(2字节) ;
long int至少应为32位。 

二、字节数对比

数据类型 \ 编译器位数16位32位64位
char1个字节1个字节1个字节
char* (即指针,一个地址所占位数)2个字节4个字节8个字节
short int2个字节2个字节2个字节
int2个字节4个字节4个字节
unsigned int2个字节4个字节4个字节
float4个字节4个字节4个字节
double8个字节8个字节8个字节
long4个字节4个字节8个字节
long long8个字节8个字节8个字节
unsigned long4个字节4个字节8个字节

三、输出不同类型格式

%p 可以匹配对应类型的指针地址的值,输出以16进制表示,会自带前缀0x
%x 可以对应int类型的指针,输出以16进制输出,不会自带前缀0x
%u 可以打印unsigned int类型
%d 可以打印int类型
%o 以八进制格式打印数据类型
%ho 以八进制格式输出short类型
%016lX"是十六进制输出的X格式说明符。 0表示根据需要填充零。 16表示最小输出长度。

注意:
如果系统的int和long类型具有同样的长度,使用%d就可以打印long数值,但是这会给程序移植到其他系统(这两种数据类型的长度不一样的系统)带来麻烦,所以建议使用%ld打印long数值。在x和o符号前也可以使用l前缀,因此%lx表示以十六进制格式打印长整数,%lo表示以八进制格式打印长整数。请注意,尽管在C中常量后缀可以使用大写和小写,但格式说明符只能使用小写字母。
C语言中还有其他几种printf()格式。首先,可以对short类型使用h前缀,因此%hd 表示以十进制显示short整数,%ho表示以八进制显示short 整数。h和 l 前缀都可以同u结合使用表示无符号整数。例如,%lu 表示打印unsigned long类型。

四、常用类型简写总结

typedef unsigned long     	uint64_t;
typedef unsigned int		uint32_t;
typedef unsigned short		uint16_t;
typedef unsigned char		uint8_t;

typedef long long           int64_t;
typedef int                 int32_t;
typedef short               int16_t;
typedef char                int8_t;

typedef signed char s8;
typedef unsigned char u8;

typedef signed short s16;
typedef unsigned short u16;

typedef signed int s32;
typedef unsigned int u32;

typedef signed long s64;
typedef unsigned long u64;
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值