#include <stdio.h>
int main() {
unsigned int num = 1;
char *byte = (char*)#
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字节)