星期一(理论测试)

这篇博客介绍了C语言中struct(结构体)和union(共用体)在内存分配上的规则。对于结构体,其空间大小是各成员大小之和,然后向上取4的倍数;而对于共用体,空间大小则是各成员中最大的那个,同样向上取4的倍数。此外,文章还提及了enum(枚举)类型,指出其空间大小通常为4。最后,简单提到了typedef的使用,建议观看相关视频进一步学习。
摘要由CSDN通过智能技术生成

1.空间计算方法

struct(结构体)、union(共用体):

这两个新类型定义的变量,开辟空间的时候,都是先计算理论值,再按照4的倍数开辟

struct(结构体)—先计算各个类型的和,再找不小于它的4的倍数,例如:

struct student
{
   int num;
   char[10] name;
   char sex;
   float score;  
}s;

类型和:size = 4(int) + 10 (char[10]) + 1(char) + 6(float) =21 ; 找不小于它的4的倍数:24

故:sizeof(s)=24

union(共用体)—找到各类型中最大的一个,再找不小于它的4的倍数,例如:

union student
{
   int num;
   char[10] name;
   char sex;
   float score;  
}s;

size = 10(char[10]) ; 找不小于它的4的倍数:12

故:sizeof(s) = 12

enum(枚举)

是整型常量,只能是4

2.typedef的使用,直接看视频吧,空降:33:18

做题的话,下面这张图片就够了

********************题挺简单的,视频看完自然就会了,用不着答案,就不写了**********************

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值