Welcome to my blog|

Khru

园龄:2年11个月粉丝:22关注:1

📂C
2023-04-09 23:53阅读: 21评论: 0推荐: 0

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

规则有三:

  1. 结构体中元素按照定义顺序依次置于内存中, 但并不是紧密排列的.
    从结构体首地址开始依次将元素放入内存时, 元素被放置在自身对齐大小的整数倍地址上.
  2. 如果结构体大小不是所有元素中最大对齐大小的整数倍,则结构体对齐到最大元素对齐大小的整数倍, 填充空间放置到结构体末尾.
  3. 基本数据类型的对齐大小为自身的大小, 结构体数据类型的对齐大小为其元素中最大的对齐大小.

本文作者:Khru

本文链接:https://www.cnblogs.com/khrushchefox/p/17301501.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Khru  阅读(21)  评论(0编辑  收藏  举报
历史上的今天:
2022-04-09 SQL Server-数据库的创建、分离、备份、附加和删除
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起