📄 c09_03.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 + -