数据结构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;
}
相关推荐
彷徨而立17 分钟前
【C/C++】strerror、GetLastError 和 errno 的含义和区别?
c语言·c++
金枪不摆鳍44 分钟前
算法--二叉搜索树
数据结构·c++·算法
向哆哆1 小时前
画栈 · 跨端画师接稿平台:基于 Flutter × OpenHarmony 的整体设计与数据结构解析
数据结构·flutter·开源·鸿蒙·openharmony·开源鸿蒙
代码无bug抓狂人2 小时前
动态规划(附带入门例题)
c语言·算法·动态规划
季明洵2 小时前
C语言实现顺序表
数据结构·算法·c·顺序表
恶魔泡泡糖3 小时前
51单片机串口通信
c语言·单片机·嵌入式硬件·51单片机
知无不研3 小时前
c语言动态内存规划
c语言·动态内存管理·内存泄露·基础知识·malloc·realloc·calloc
3108748764 小时前
0005.C/C++学习笔记5
c语言·c++·学习
历程里程碑5 小时前
Linxu14 进程一
linux·c语言·开发语言·数据结构·c++·笔记·算法
JiL 奥5 小时前
Nexus制品归档(c/c++项目)
c语言·c++