结构体类型的定义及所占内存的字节数

这篇具有很好参考价值的文章主要介绍了结构体类型的定义及所占内存的字节数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C 语言允许用户自定义数据类型,典型的代表就是结构体,结构体类型和数组一样,都属于构造数据类型。它们之间的不同点就在于,数组是将相同类型的数据单独放在一起来存储,而结构体允许逻辑上相关,但类型不同的数据放在一起来存储。

#include  <stdio.h>

struct datatype1     

{ 文章来源地址https://www.toymoban.com/news/detail-430691.html

   char   b;   

   int   a;

   char   c;

};

struct datatype2     

{

   char   b;   

   short   a;

   char   c;

};

struct datatype3     

{

   char   b; 

   char   c;

   int   a;

};

struct stu

{

int num;

char name[20];

char sex;

float score;

};

struct date

{

int year;

int month;

int day;

};

struct student

{

int num;

char name[20];

char sex;

struct date birth;

float score;

};

int main()

{

到了这里,关于结构体类型的定义及所占内存的字节数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java中各种类型所占内存空间大小

    java中常用类型所占内存大小,以下值以实测为准。 类型 数量 大小 备注 byte 1 1B byte 1024 1KB int 1 4B int 1024 4KB boolean 1 1B boolean 1024 1KB double 1 8B double 1024 8KB long 1 8B long 1024 8KB float 1 4B float 1024 4KB char 2 2B char 1024 2KB Object 1 4B 对象内存地址 Object 1024 4KB Object 1 16B 对象头 String 1 2B 在j

    2024年02月13日
    浏览(43)
  • 结构体占用内存大小如何确定?-->结构体字节对齐 | C语言

    目录 一、什么是结构体 二、为什么需要结构体 三、结构体的字节对齐 3.1、示例1 3.2、示例2 3.3、示例3  3.4、示例4 3.5、示例5 四、结构体字节对齐总结         结构体是将不同类型的数据按照一定的功能需 求进行整体封装,封装的数据类型与大小均可以由用户指定。 结

    2024年01月17日
    浏览(48)
  • C语言【自定义数据类型、typedef、动态内存分配】

    一、自定义数据类型。 ​ 关于下面讲到的所有自定义数据类型(enum、struct、union),有一点要说的是:定义类型不是声明变量,做这步操作时不分配内存,也不能在定义类型时赋值(枚举那个不是赋值,是做一个限定,赋值时赋限定之外的值也不报错。)。 1、typedef (给类

    2024年02月05日
    浏览(46)
  • C语言结构体字节对齐(内存对齐)之#pragma pack和__attribute__((packed)的使用

    在不使用 #pragma pack 和 __attribute__((packed) 等选项来自定义字节对齐大小的情况下,关于正常字节对齐的描述,可参考博文: C/C++计算类/结构体和联合体(union)所占内存大小(内存对齐问题)_联合体占用的内存空间_SOC罗三炮的博客-CSDN博客 同学可以尝试将char f 注释,最后将

    2024年02月12日
    浏览(46)
  • C语言——结构体类型(二)【结构体内存对齐,结构体数组】

    📝前言: 上一讲结构体类型(一)中,我们讲述了有关 结构体定义,创建,初始化和引用 的内容,这一讲,我们进一步学习结构体的相关知识: 1,结构体内存对齐 2,结构体数组 🎬个人简介:努力学习ing 📋个人专栏:C语言入门基础 🎀CSDN主页 愚润求学 🌄每日鸡汤:

    2024年01月24日
    浏览(71)
  • 【C语言】【数据结构】自定义类型:结构体

    这是一篇对结构体的详细介绍,这篇文章对结构体声明、结构体的自引用、结构体的初始化、结构体的内存分布和对齐规则、库函数offsetof、以及进行内存对齐的原因、如何修改默认对齐数、结构体传参进行介绍和说明。                  ✨  猪巴戒 :个人主页✨      

    2024年02月05日
    浏览(35)
  • 深入了解C语言中的结构体类型与内存对齐

    在C语言中,结构体是一种 自定义的数据类型 , 它允许我们将不同类型的数据组合在一起,形成一个新的数据类型 。结构体的使用为我们解决了一些复杂数据的表示和处理问题,不仅限于单单的整型或者字符。本文将深入探讨结构体类型、结构体变量的创建和初始化,并详

    2024年04月11日
    浏览(43)
  • 自定义类型——结构体(C语言进阶)

    目录 一、结构的声明 1.1 一般声明 1.2 特殊声明 1.3 结构体自引用 二、结构体变量的定义和初始化  2.1 结构体变量的定义 2.2 结构体变量的初始化 三、结构体内存对齐 3.1 代码分析 3.2 结构体内存对齐的规则  3.3 嵌套结构体的大小 3.4 存在结构体内存对齐的原因 3.5修改默认对

    2024年02月16日
    浏览(37)
  • 【C语言】结构体类型的定义与使用

    目录 一、结构体 二、结构体的定义 1.最基本的定义 2.有 typedef 的定义 3.定义即对象方式 4.定义即对象指针方式(涉及指针就会稍微复杂一点) 5. typedef结构体和结构体指针方式 三、结构体的使用         结构体是用户自定义的一种类型,这种类型里面可以声明不同的数据类

    2024年02月12日
    浏览(44)
  • 【C语言】自定义类型:结构体、枚举、联合

    目录 前言: 一、结构体 (1)结构体的特殊声明 (2)结构体的自引用 (3)结构体嵌套初始化 (4)结构体内存对齐 (5)修改默认对齐数 (6)结构体传参 (7)位段 二、枚举 (1)枚举的定义 (2)枚举的优点 (3)枚举的使用 三、联合(共用体) (1)联合类型的定义 (

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包