判断数据在内存中的存储方式算法

#include <stdio.h>

int main() {

unsigned int num = 1;

char *byte = (char*)&num;

if (*byte == 1) {

printf("Little-Endian\n");

} else {

printf("Big-Endian\n");

}

return 0;

}

大端是高字节存于低地址,低字节存于高地址。

小端是低字节存于低地址。

这里先定义一个4个字节的数为1,那么它的16进制表示就是00 00 00 01,然后将其地址转换为char类型,此时用*byte,这个表示读取内存中的第一个字节,即内存中低地址处的字节,如果读出来的值是00,代表是大端模式 ,读出来的是01,就是小端模式。

ps:如何定量的去判断一个任务的堆栈应该多大?(计算每个任务的局部变量和形参大小,以及递归调用的递归深度,比如一个函数是100字节的局部,被递归了10次,那就是1000字节)

相关推荐
李永奉4 小时前
C语言-指针函数与函数指针及回调函数的使用
c语言·开发语言
Zw-awa5 小时前
蜂鸣器为什么会响:有源、无源和低电平触发
stm32
杨丰玮4185 小时前
C语言基础知识(一)————各类符号的含义与输入输出库(stdio)
c语言·开发语言
水饺编程6 小时前
第1章,了解乌班图环境,使用浏览器和邮箱
c语言·汇编·ubuntu
木白CPP8 小时前
SELinux 介绍和基本使用
嵌入式硬件·安卓·安全架构
Escalating_xu8 小时前
【C 语言】操作符详解(下):逗号、下标、结构体、类型转换与表达式求值
c语言
女神下凡8 小时前
芯参谋(30):EMMC eMCP 软件设计规范
arm开发·单片机·嵌入式硬件·设计规范
晓蛋9 小时前
C语言条件编译精讲
c语言·条件编译·宏定义·代码移植·预处理程序
ggaofeng10 小时前
Ctrl+C结束进程是如何实现的
服务器·c语言·网络
xingzhemengyou110 小时前
STM32F427将函数设定在固定位置
stm32·单片机·嵌入式硬件