数据结构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;
}
相关推荐
cpp_250115 分钟前
P1024 [NOIP 2001 提高组] 一元三次方程求解
数据结构·c++·算法·题解·二分答案·洛谷·csp
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
上弦月-编程10 小时前
递归实现C语言菱形图案打印
c语言
Mrlxl.cn10 小时前
计算机网络——网络层
c语言·数据结构·计算机网络·考研
寒秋花开曾相惜11 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
叶子野格12 小时前
《C语言学习:指针》12
c语言·开发语言·c++·学习·visual studio
一口Linux13 小时前
Linux C编程 | 从0实现telnet获取程序终端控制权
linux·运维·c语言
Mrlxl.cn13 小时前
计算机网络——传输层
c语言·计算机网络·考研·排序算法
aacd271914 小时前
C语言之预处理详解ヾ(•ω•`)o
c语言·学习
码完就睡14 小时前
数据结构——哈希表原理与C语言实现总结
数据结构·散列表