用C语言实现检验大小端存储模式

Posted 两片空白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言实现检验大小端存储模式相关的知识,希望对你有一定的参考价值。

大端存储模式

是指数据的低位保存在内存的高地址中,而数据的高位保存在低地址中。

在这里插入图片描述
小端存储模式

是指数据低位保存在内存低地址中,而数据高位保存在内存高地址中。

在这里插入图片描述
主函数:

#include<stdio.h>
int main(){

	int ret = check_sys();
	if (ret == 1){
		printf("小端\\n");
	}
	else{
		printf("大端\\n");
	}
	return 0;
}

方法一:

int check_sys(){
	int x = 1;
	return (*(char*)&x);
}

整形int x占4字节,将x地址强转成char * 取出最低位地址。
方法二:

int check_sys(){
	union{
		int i;
		char c;
	}un;
	un.i = 1;
	return un.c;
}

联合开辟空间为里面最大类型的地址,取出里面的最低字节char c

以上是关于用C语言实现检验大小端存储模式的主要内容,如果未能解决你的问题,请参考以下文章

C语言怎么简单测试为大小端模式

当前系统的存储模式确认

C语言零基础,怎么用C语言实现CRC16检验码

经典笔试题:用C写一个函数测试当前机器大小端模式

大小端存储

C语言进阶笔记用图文+代码让你深度理解数据在内存中的存储