C语言数据类型

博客主要介绍C语言的数据类型,包括构造类型(结构体、枚举、联合体)、指针类型和空类型,指出C语言无字符串类型,整形数据在内存中存补码。还讲解了大小端模式的概念、测试方法及产生原因,因多字节安排问题产生大小端存储模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型

数据类型名称64位系统下数据大小
char字符数据类型1
short短整型2
int整形4
long长整形8
long long更长的整形8
float单精度浮点数4
double双精度浮点数8

构造类型:

  • 数据类型
  • 结构体类型struct
  • 枚举类型enum
  • 联合体类型union

指针类型、空类型:
void 表示空类型(无类型)通常应用于函数的返回类型、函数的参数、指针类型。

注意:

  1. c语言没有字符串类型。
  2. 存在这么多的类型是为了更加丰富的表达生活中的各种值。
  3. 对于整形来说:数据存放在内存中其实存放的补码。

大小端:
大端模式:是指数据的低字节保存在内存的高地址中,数据的高字节存放在内存的低地址中。
小段模式:是指数据的低字节存放在内存的低地址中,数据的高字节存放在数据的内存的高地址中。
大小端的测试方法:
利用强制类型转换的方法:

void funtest1()
{	
	int i = 1;	
	char j = *((char*)&i);	
	if (j == 1)	
	{		
		printf("小端存储\n");	
	}	
	else		
		printf("大端存储\n");
}

用共用体-联合体求大小端:

void funtest2()
{	
	union UN	
	{		
		int i;		
		char c;	
	}u;	
	u.i = 1;		
	if (u.c == 1)	
	{		
		printf("小端存储\n");	
	}	
	else		
		printf("大端存储\n");
}

为什么会有大小端?
因为在计算机系统之中,是以字节为单位的,每个地址单元都对应一个字节,一个字节是8个bit。但是c语言中除了8bit的char外还有其他的数据类型,那么就必然存在多字节的安排问题。因此就存在大端存储模式和小端存储模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值