qfedu-c-level/day12/d9.c

59 lines
1.9 KiB
C
Raw Permalink Normal View History

// 结构体,也是构造类型之一,由至少一个基本数据类型或构造类型组成的一种数据类型
// 结构体的成员可以是基本数据类型或构造类型
#include <stdio.h>
#include <string.h>
/*
// 语法1: 只声明结构体
struct
{
// 声明成员变量,成员变量不要初始化(值)
1 1;
2 2;
... n n;
};
// 语法2: 声明结构体时,同时声明结构体类型的变量
struct
{
// 声明成员变量,成员变量不要初始化(值)
1 1;
2 2;
... n n;
} 1, 2, ... n;
// 语法3: 一次性声明结构体
struct
{
// 声明成员变量
} ;
*/
struct STU
{
unsigned int sid; // 存放学号
char name[32]; // 存放姓名
char phone[12]; // 存放手机号12个字节11个数字最后一个字节存放'\0'
};
#define sstu struct STU // 定义别名
int main()
{
// 定义 STU 类型的变量存放张三这个学生学号为1001手机号为17791692095
// 结构体变量在初始化时,按成员的顺序和数据类型依次赋值
sstu s1 = {1001, "张三", "17791692095"};
sstu s3 = {1003, "王五", "17791692097"};
// 存其他学生的信息
struct STU s2;
s2.sid = 1002;
strcpy(s2.name, "李四");
strcpy(s2.phone, "17791692096");
printf("sid: %u name: %s phone: %s\n", s1.sid, s1.name, s1.phone);
printf("sid: %u name: %s phone: %s\n", s2.sid, s2.name, s2.phone);
printf("sid: %u name: %s phone: %s\n", s3.sid, s3.name, s3.phone);
return 0;
}