2021-01-23

结构体与共用体

结构体

//结构体成员变量不能直接使用
//结构体可以嵌套定义,但不能包含自己
//结构体可以用来定义变量

内存分配:
1.结构体占用的储存空间为结构体成员中,占字节数最大的成员变量的储存空间的整数倍
2.成员变量的书写顺序也会影响结构体占用储存空间的大小,所以尽量将相同数据类型的变量连续写

结构体类型变量定义
1.先定义结构体类型,再定义结构体变量
2.在定义结构体类型的同时定义结构体变量
3.直接定义结构体变量,形式简单,但不能重复使用结构体定义

结构体类型的使用
1.由结构体变量引用成员
一般形式:
结构体变量名.成员名

2.由指向结构体的指针变量引用结构体成员
一般形式:
指针变量名->成员名

结构体类型的初始化
1.不允许直接对结构体变量赋一组常量
2.不允许在结构体花括号内直接赋值
3.若结构体成员变量是另一个结构体类型的变量,则初始化时任要对各个基本成员赋予初值

结构体成员变量的输入与输出
C语言允许将结构体作为一个整体来使用,但不允许把一个结构体作为整体输入输出,应按成员变量输入输出


利用结构体类型描述年月日,输入一个日期,判断它是本年度第几天

#include<iostream>
using namespace std;

void main()
{
	struct date
	{
		int year;
		int month;
		int day;

	};
	struct date pdate;
	int days, i, d;
	cout << "输入年月日:";
	cin >> pdate.year >> pdate.month >> pdate.day;
	days = 0;
	for (i = 1; i < pdate.month; i++)
	{
		switch (i)
		{

		    case 1:case 3:case 5:case 7:case 10:d = 31; break;
			case 4:case 6:case 9:case 11:d = 30; break;
			case 2:
				if (pdate.year % 4 == 0 && pdate.year % 100 != 0 || pdate.year % 400 == 0)
					d = 29;
				else
					d = 28;
		}
		days += d;

	}
	days += pdate.day;
	cout << pdate.year << "年" << pdate.month << "月" << pdate.day << "是该年的第" << days << "天" << endl;
}

结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.头发掉不完.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值