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

#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字节)

相关推荐
Gu_shiwww30 分钟前
数据结构3线性表——单链表(C)
c语言·开发语言·数据结构
科大饭桶1 小时前
Linux系统编程Day13 -- 程序地址空间(进阶)
linux·运维·c语言·数据结构·c++
C_Liu_2 小时前
C语言:队列的实现和剖析
c语言·开发语言·数据结构
我怕是好2 小时前
学习STM32 脉冲计数实验
stm32·嵌入式硬件·学习
总结所学2 小时前
电路板的GND与外壳地EARTH通过电容电阻相连
单片机·嵌入式硬件
国科安芯3 小时前
MCU外设初始化:为什么参数配置必须优先于使能
网络·单片机·嵌入式硬件·性能优化·硬件工程
Pocker_Spades_A3 小时前
[C语言]第二章-从Hello World到头文件
c语言·开发语言
用户6120414922133 小时前
C语言做的停车场车牌识别系统
c语言·后端·图像识别
屁股割了还要学7 小时前
【数据结构入门】堆
c语言·开发语言·数据结构·c++·考研·算法·链表
草莓熊Lotso10 小时前
【洛谷题单】--分支结构(三)
c语言·c++·刷题·洛谷