数据结构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语言笔记15:动态内存管理
c语言·网络·笔记
zfxwasaboy17 小时前
DRM KMS 子系统(3)CRTC
linux·c语言
im_AMBER17 小时前
Leetcode 100 在链表中插入最大公约数
数据结构·c++·笔记·学习·算法·leetcode·链表
独自破碎E18 小时前
【二分法】旋转数组的最小数字
数据结构·算法·排序算法
苦藤新鸡18 小时前
9.找到字符串中所有字母异位词
数据结构·c++·算法·力扣
逑之18 小时前
C语言笔记12:C语言内存函数
c语言·笔记·算法
ltqshs18 小时前
嵌入式C语言-指针数组和数组指针
c语言·数据结构·算法
逑之18 小时前
C语言笔记3:分支与循环
c语言·开发语言·笔记
逑之18 小时前
C语言笔记6:调试
c语言·笔记
独自破碎E18 小时前
【归并】数组中的逆序对
java·数据结构·算法