59 lines
1.9 KiB
C
59 lines
1.9 KiB
C
// 结构体,也是构造类型之一,由至少一个基本数据类型或构造类型组成的一种数据类型
|
||
// 结构体的成员可以是基本数据类型或构造类型
|
||
#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;
|
||
} |