C语言对结构体进行赋值操作

  • 一、说明
  • 二、环境
  • 三、代码
  • 四、运行

一、说明

    定义一个结构体: 并对其进行初始化操作,赋值操作,打印
    1.注意, struct 定义的位置可以在main函数的外边
    2.用的时候是 struct student s1 //必须带着struct 要不然不认student为数据类型
    3.在定义结构体的时候不能对其进行初始化操作
    4.其他注意事项在注释里

二、环境

windows10
MinGW64

三、代码

#include <stdio.h>
#include <string.h>
struct student
{
    //注意一个中文占2B
    char name[50];
    int age; //这里不能对其进行赋值操作
    int sex;
};
void structPrintf(struct student s2);
int main()
{
    //下面进行初始化按顺序
    struct student s1 = {"在下涛涛", 20, 1};
    //DIY
    struct student s2 = {.age = 12, .name = "在下涛涛", .sex = 1};
    //这里证明了结构体的变量名字也是一个指针
    //且指向了结构体的首地址
    structPrintf(s1);

    //对s1进行修改
    printf("------s1进行改变---------\n");
    s1.age = 21;
    s1.sex = 0;
    //s1.name = "这样可以吗?";  //这里报错
    strcpy(s1.name, "使用函数进行改变");
    structPrintf(s1);
    printf("--通过scanf对s1进行改变---------\n");
    //数组赋值的时候,name就是首地址了
    scanf("%s", s1.name);
    //下面的就得取地址了
    scanf("%d", &s1.age);
    scanf("%d", &s1.sex);
    structPrintf(s1);
    return 0;
}
void structPrintf(struct student s2)
{
    printf("name  = %s\n", s2.name);
    printf("age = %d\n", s2.age);
    if (s2.sex == 0)
    {
        printf("女\n");
    }
    else
    {
        printf("男\n");
    }
}

四、运行

更多推荐

C语言对结构体进行赋值操作