浅谈结构体基础定义及实现方法_sizeof(s1) sizeof(struct student)的含义

本文详细解释了C++中结构体的赋值方式,包括整体赋值和逐项赋值,以及结构体数组和指针的使用。同时指出了一种常见的错误示例,并提供了一个针对计算机专业学生的毕业设计项目资源清单。
摘要由CSDN通过智能技术生成

{
    变量信息
}物体;

三,结构体变量的赋值引用

赋值:

若此时有一个新学生s1需赋值则有两种方法:

1,定义的时候直接全部赋值(每一项需要与结构体对应):

struct STUDENT s1 = {“小明”, ,20200000 ,“男”, 18};                        //姓名,学号,性别,年龄

(整体赋值仅限于定义时)

2,单独给每一项变量信息赋值(此时用”.“):

struct STUDENT s1;

strcpy(s1. name,“小明”);             //姓名
      s1.num=20200000;                     //学号
      s1.sex=“男”;                                //性别
      s1.age=18;                                  //年龄

引用:

与单独赋值一样:

若需获得s1的姓名,则cout<<s1.name;

若需获得s1的学号,则cout<<s1.num;

四,结构体数组

和数组类似,只不过数组每个点只能存一个数,而结构体数组每个点存的是封装的一个不同数据类型的结构。

如数组定义int a[5],则每个点都存一个int类型数据

而结构体struct STUDENT s1[5];则每一个点都是一个结构体即存有四个信息。

比如定义5个学生,则为s1[0]代表第一个人,s1[1]代表第二个。

此时若要知道第三个人的性别年龄,则。

cout<<s1[2].sex;cout<<s12].age;

结构体数组可以跟数组比较。

五,结构体数组实际长度

sizeof(s1) / sizeof(struct STUDENT);           //sizeof(s1)结构体数组大小;sizeof(struct STUDENT)每一个结点大小,即结构体大小

六,结构体做指针

结构体变量名在表达式中不会像数组一样被自动转换为指针,所以要想取得结构体变量的地址,必须在前面加&,如下赋值:

struct STUDENT  s1;

struct STUDENT *s2 = &s1;

获取对应变成指针后的变量信息:

(*s2).memberName

s2->memberName

这篇博客原因就是因为课本上有一串代码,我还以为他呢正确,如下:

struct
{
    int number;
    char name;
}Node[10];

可以看出下面是按照C语言是错的,因为没有结构体类型名。没有类型名,就相当于int a;少了int,肯定错误

这串代码可能是伪代码之类的。

文章有什么不足或错误欢迎评论指正

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数同学面临毕业设计项目选题时,很多人都会感到无从下手,尤其是对于计算机专业的学生来说,选择一个合适的题目尤为重要。因为毕业设计不仅是我们在大学四年学习的一个总结,更是展示自己能力的重要机会。

因此收集整理了一份《2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。
img
img
img

既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!

由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频

如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
img

择,真正体系化!**

由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频

如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
[外链图片转存中…(img-SAzd4mtD-1712583862110)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值