数据结构day2

结构体字节对齐

32位:8+4+4+4=32

32位:1+1+2+2+4+4++4+4=22

两种验证大小端对齐

共用体判断

cs 复制代码
#include <stdio.h>
union A
{
    char t1;
    int t2;
};
int main(int argc, const char *argv[])
{
    union A a1;   //栈区
 a1.t2 = 0x12345678;   //0x12数据高位  0x78数据低位
    printf("%#X\n",a1.t1);  //访问共用体中的地址低位
    printf("%p\n",&a1.t1);
    printf("%p\n",&a1.t1+3);
    return 0;
}

指针判断

cs 复制代码
#include <stdio.h>
int main(int argc, const char *argv[])
{
    int a = 0x12345678;
    char *p = &a; //为了只取a的低地址的数据

    if(*p==0x78)
    {
        printf("小端\n");
    }
    else
    {
        printf("大端\n");
    }

    return 0;
}
相关推荐
这是程序猿12 分钟前
深入剖析Java HashMap:底层原理、数据结构与核心机制全解析
java·开发语言·数据结构
从零开始的嵌入式之旅37 分钟前
day32
linux·c语言·经验分享·笔记·嵌入式硬件
一条破秋裤1 小时前
C-数据类型
c语言·开发语言·chrome
xx~t1 小时前
嵌入式学习——进程与线程2
linux·c语言·学习·进程与线程
HanhahnaH1 小时前
各数据结构操作的时间复杂度汇总
数据结构·算法
_wxd6662 小时前
排序-堆排序(Heap Sort)
数据结构
间歇性努力持续性发呆的野生快乐选手2 小时前
二分模板(整型,浮点型)
数据结构·c++·算法
evans在进步3 小时前
LeetCode 189 轮转数组:三次反转为什么能实现右旋?
数据结构·算法·leetcode
五_谷_丰_登4 小时前
平衡二叉搜索树讲解
数据结构·c++