C-结构体
结构体
创建和使用
#include <stdio.h> struct Student // 结构体标签 { int id; // 成员 char* name; int age; }s1 = {1, "小明", .age = 18}; // 结构变量 typedef struct Student Stu; int main() { Stu* p = &s1; printf("%d", p->id); return 0; }
内存大小
printf("%llu", sizeof(struct Student)); // 24
规则有三:
- 结构体中元素按照定义顺序依次置于内存中, 但并不是紧密排列的.
从结构体首地址开始依次将元素放入内存时, 元素被放置在自身对齐大小的整数倍地址上. - 如果结构体大小不是所有元素中最大对齐大小的整数倍,则结构体对齐到最大元素对齐大小的整数倍, 填充空间放置到结构体末尾.
- 基本数据类型的对齐大小为自身的大小, 结构体数据类型的对齐大小为其元素中最大的对齐大小.
本文作者:Khru
本文链接:https://www.cnblogs.com/khrushchefox/p/17301501.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2022-04-09 SQL Server-数据库的创建、分离、备份、附加和删除