C语言 | 结构体

一、结构体变量的定义与使用

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);
}

猜你喜欢

转载自blog.csdn.net/weixin_39766005/article/details/109188912