⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c09_03.c

📁 这是编程之道C-C++中的源代码,很简练,可以用于相关教学和重新熟悉C-C++时使用
💻 C
字号:
/*结构体变量和结构体指针的关系*/
#include <stdio.h>

/*结构体类型定义,其中结构体date是结构体PERSON的成员变量*/
struct date
{
	int		month;		/*表示月,从1-12*/
	int		day;		/*表示日期,从1-31*/
	int		year;		/*表示年,从0000-2002*/
};

/*定义结构体类型,并且是复合(成员变量是结构体类型)类型*/
typedef struct
{
	int		No;				/*序号*/
	char	name[20]; 		/*姓名*/
	struct date  birthday;	/*出生日期*/
} PERSON;

int main()
{
	PERSON	Users; 		/*定义Users是一个结构体变量*/
	PERSON	*p;			/*定义*p是一个结构体指针*/

	printf("请输入结构体变量的信息:\n");
	printf("请输入序号:");
	scanf("%d",&(Users.No));		/* Users.No是整型变量 */
	printf("姓名:");
	scanf("%s",Users.name);			/* Users.name字符数组的名字,其表示地址 */
	printf("请输入生日日期(YYYY-MM-DD):");
	scanf("%d-%d-%d",&(Users.birthday.month),&(Users.birthday.day),
												&(Users.birthday.year));

	p = &Users;		/*将结构体变量Users的地址赋值给指针p*/

	printf("\n通过结构体变量输出的结果是:\n");
	printf("序号:%d\n姓名:%s\n生日:%d-%d-%d\n",
			Users.No, Users.name, Users.birthday.month, Users.birthday.day,
			Users.birthday.year);

	printf("\n通过结构体指针变量输出的结果:\n");
	printf("序号:%d\n姓名:%s\n生日:%d-%d-%d\n",
					(*p).No,(*p).name,(*p).birthday.month,(*p).birthday.day,
					(*p).birthday.year);

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -