网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 377|回复: 0
打印 上一主题 下一主题

【C语言】结构体成员的获取和赋值

[复制链接]

686

主题

693

帖子

3101

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3101
跳转到指定楼层
楼主
发表于 2024-6-14 17:12:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
成员的获取和赋值结构体和数组类似,也是一组数据的集合,整体使用没有太大的意义。数组使用下标[ ]获取单个元素,结构体使用点号.获取单个成员。获取结构体成员的一般格式为:
结构体变量名.成员名;
通过这种方式可以获取成员的值,也可以给成员赋值:
  • #include <stdio.h>
  • int main(){
  •     struct{
  •         char *name;  //姓名
  •         int num;  //学号
  •         int age;  //年龄
  •         char group;  //所在小组
  •         float score;  //成绩
  •     } stu1;
  •     //给结构体成员赋值
  •     stu1.name = "Tom";
  •     stu1.num = 12;
  •     stu1.age = 18;
  •     stu1.group = 'A';
  •     stu1.score = 136.5;
  •     //读取结构体成员的值
  •     printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.1f!\n", stu1.name, stu1.num, stu1.age, stu1.group, stu1.score);
  •     return 0;
  • }


运行结果:
Tom的学号是12,年龄是18,在A组,今年的成绩是136.5!

除了可以对成员进行逐一赋值,也可以在定义时整体赋值,例如:
  • struct{
  •     char *name;  //姓名
  •     int num;  //学号
  •     int age;  //年龄
  •     char group;  //所在小组
  •     float score;  //成绩
  • } stu1, stu2 = { "Tom", 12, 18, 'A', 136.5 };


不过整体赋值仅限于定义结构体变量的时候,在使用过程中只能对成员逐一赋值,这和数组的赋值非常类似。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2024-12-22 16:01 , Processed in 0.032125 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表