数据结构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;
}
相关推荐
xxwxx__25 分钟前
C++ AVL 树深度剖析:平衡二叉搜索树原理、源码与面试考点
数据结构·c++
Logic10132 分钟前
C语言/数据结构数组题解:数字列表加一(Plus One)——进位处理与数组扩展
c语言·数据结构·模拟·数组·时间复杂度·算法题·进位
Escalating_xu38 分钟前
【C语言常见概念】从第一行代码到字符串结束标志:一次打通编译、main、ASCII、转义字符与注释
c语言·c++
Navigator_Z1 小时前
LeetCode //C - 1250. Check If It Is a Good Array
c语言·算法·leetcode
SuperByteMaster2 小时前
freertos 任务创建方式
c语言
susplus3 小时前
【传感器DS18B20】51单片机上实现温度采集
c语言·51单片机·ds18b20·温度采集
xxwxx__4 小时前
C++ STL set 与 map 全套详解:关联式容器、红黑树底层、代码坑点、刷题实战
数据结构·c++
程曦曦5 小时前
MySQL 生产库误删 98 张表后的时间点恢复实战:从 binlog 解析到资金对账
linux·数据结构·其他·算法·ubuntu·运维开发
郝学胜-神的一滴5 小时前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
Logic1015 小时前
C语言/数据结构位运算题解:异或XOR找出流水线上的“独特零件编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质