C语言基础之结构体二

88 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第三天,点击查看活动详情

结构体与共用体

前言

接上篇,今天继续学习结构体~

知识点3--结构体变量的引用

在定义了结构体变量以后,当然可以引用这个变量。但应遵守以下规则:

  1. 不能将一个结构体变量作为一个整体进行输入和输出

    例如:打印student1的各个变量的值

    printf("%d,%s,%d,%f,%\n",student1);//???  这是不对滴
    

    正确引用结构体变量中成员的方式为:

    结构体变量名.成员名
    

    例子:将boy1中的全部变量赋给boy2,看看能否实现

    //结构体_1_Emp02
    #include<stdio.h>
    
    int main(){
        struct student{
            int num;
            char *name;
            char sex;
            float score;
        }boy1,boy2;
        
        boy1.num = 007;
        boy1.name = "Jane";
        
        printf("Please input sex and score\n");
        scanf("%c %f",&boy1.sex,&boy1.score);
        
        boy2 = boy1;
        
        printf("Number = %d\nName = %s\n",boy2.num,boy2.name);
        printf("Sex = %c\nScore = %f\n",boy2.sex,boy2.score);
    }
    
    

结果输出:

Please input sex and score

M

99.8

Number = 7

Name = Jane

Sex = M

Score = 99.800003

  1. 如果成员本身又属一个结构体类型,则要用若干个成员运算符,一级一级地找到最低的一级的成员。只能对最低级的成员进行赋值或存取以及运算。

    对上面定义的结构体变量student1,可以这样访问各成员:

student1.num;
student1.brithday.month;
  1. 对结构体变量的成员可以像普通变量一样进行各种运算(根据其类型决定可以进行的运算)。

    student2.score = student1.score;
    sum = student1.score + student2.score;
    student1.age++;
    ++student2.age;
    
  2. 可以引用结构体变量成员的地址,也可以引用结构体变量的地址。

    这是因为:数组第一个元素的地址是数组的首地址 同理

声明

小编是跟着b站上的小甲鱼视频学习的,希望每天都能进步一点点!

链接附上:C语言学习之小甲鱼视频链接