一、结构体变量的定义与使用
1.先声明结构体类型再定义变量名
#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdio.h>
struct student {
char name[21];
int age;
char address[51];
};
void main()
{
struct student stu;
//stu.name = "张三";//错误,stu.name是数组名,是个常量
strcpy(stu.name, "张三");
stu.age = 18;
strcpy(stu.address, "北京市朝阳区");
printf("name:%s\n", stu.name);
printf("age:%d\n", stu.age);
printf("address:%s\n", stu.address);
struct student stu1 = { "李四",18,"北京市海淀区" };
printf("name:%s\n", stu1.name);
printf("age:%d\n", stu1.age);
printf("address:%s\n", stu1.address);
}
2.在声明类型的同时定义变量
#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdio.h>
struct student {
char name[21];
int age;
char address[51];
} stu;
void main()
{
//stu.name = "张三";//错误,stu.name是数组名,是个常量
strcpy(stu.name, "张三");
stu.age = 18;
strcpy(stu.address, "北京市朝阳区");
printf("name:%s\n", stu.name);
printf("age:%d\n", stu.age);
printf("address:%s\n", stu.address);
}
3.直接定义结构体类型变量(无类型名)
#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdio.h>
struct {
char name[21];
int age;
char address[51];
}stu;
void main()
{
//stu.name = "张三";//错误,stu.name是数组名,是个常量
strcpy(stu.name, "张三");
stu.age = 18;
strcpy(stu.address, "北京市朝阳区");
printf("name:%s\n", stu.name);
printf("age:%d\n", stu.age);
printf("address:%s\n", stu.address);
}