当前位置: 首页 > news >正文

C语言:结构体变量

1. 结构体变量的引用方法

例如,若有数据定义:

struct Student{char name[10];int age;struct Date birthday;
}s1,s2,stu[10];

则下面对结构体变量的引用都是正确的:

s1.age=20;
scanf("%d",&s1.age);
gets(stu[0].name);
strcpy(stu[1].name,"zhangsan");
s1.birthday.year=1997;
scanf("%d",&s1.birthday.month);
s2=s1;

而下面的引用都是错误的:

s1={"Lisi",20,10,30,1997};    //结构体变量不能整体使用
s1.birthday={10,30,1997};     //birthday也是一个整体,不是基本类型
scanf("%s%d%d%d%d",&s1);      //结构体变量不能整体使用

2. 结构体变量引用举例

设有30个学生,每个人都有学号、姓名和考试成绩三项数据,从键盘输入这些数据,找出成绩最高者并输出其数据。

#include<stdio.h>
struct Student{char num[10];char name[10];int score;
};
int main()
{struct Student s[30];int i,k;for(i=0;i<30;i++){scanf("%s",&s[i].num);scanf("%s",&s[i].name);scanf("%d",&s[i].score);}k=0;for(i=1;i<30;i++)if(s[i].score>s[k].score)k=i;printf("%s %s %d\n",s[k].num,s[k].name,s[k].score);return 0;
}

3. 用指针变量操作结构体变量

与普通变量一样,结构体变量也可以通过指针变量来间接访问。

struct Student{char name[9];int score;
};
struct Student s,*p=&s;
scanf("%s",(*p).name);
(*p).score=90;

或者也可以写成:

scanf("%s",p->name);
p->score=90;

 

 

 

 

 

http://www.lryc.cn/news/439302.html

相关文章:

  • bibtex是什么
  • 【大模型专栏—进阶篇】智能对话全总结
  • MVC应用单元测试以及请求参数的验证
  • 算法:TopK问题
  • .json文件的C#解析,基于Newtonsoft.Json插件
  • 四、(JS)JS中常见的加载事件
  • [网络]https的概念及加密过程
  • React 嵌套类名样式不生效
  • 20Kg载重30分钟续航多旋翼无人机技术详解
  • 详解c++:认识类
  • HTML5中的重要元素详解
  • 八股文知识汇总(常考)
  • unity 图片置灰shader
  • 【C语言】(指针系列2)指针运算+指针与数组的关系+二级指针+指针数组+《剑指offer面试题》
  • 探索信号处理:使用傅里叶小波变换分析和恢复信号
  • 俄罗斯方块——C语言实践(Dev-Cpp)
  • 关于wp网站出现的问题
  • 为什么H.266未能普及?EasyCVR视频编码技术如何填补市场空白
  • 最全 高质量 大模型 -评估基准数据集(不定期更新)
  • react 中, navigate 跳转链接 2种写法
  • k8s Service 服务
  • 安全建设当中的冷门知识
  • python画图|极坐标下的3D surface
  • html+css+js网页设计 旅游 大理旅游7个页面
  • Day 29~42 JavaWeb
  • 小程序开发设计-第一个小程序:创建小程序项目④
  • C++设计模式——Mediator中介者模式
  • 微服务之间远程调用实现思路
  • 获取STM32 MCU的唯一ID
  • Debian项目实战——环境搭建篇