C语言结构体

1.概述

C语言中可以自定义指定一个数据结构,是有不同类型的数据组合为一个整体,以便于使用,这些组合在这个整体中的数据是互相联系的,我们称这样的数据结构为结构体。

结构体声明如下:   

   struct 结构体名

        {成员列表}

大括号内的就是结构体中的各个成员,它们组成一个结构体。

struct student
{
    //成员的声明
    //类型名 成员名
    int num;
    char name[20];
    float score;
}

2.定义结构体类型变量的方法

为了可以在程序中使用结构类型的数据,应定义结构体类型的变量,在其中存放具体的数据,使用以下方法。

(1)声明类型的同时定义变量

例如:

struct student
{
    int num;
    char name[20];
    float score;
}student1,student2;

定义两个struct student类型的变量student1,student2,一般形式如下:

struct 结构体名
{
    成员列表
}变量名列表;

(2)直接定义结构体类型变量

struct
{
    成员列表
}变量名列表;

不出现结构体名。

注意:

1.类型与变量是不同的概念,只能对变量赋值,存取和运算,而不能对一个类型赋值,存取和运算。

2.对结构体中的成员可以单元使用,作用相当于普通变量

3.成员也可以是结构体变量。如:

struct date // 声明一个结构体变量
{
    int day;
    int month;
}
struct student
{
    int num;
    char name[20];
    int age;
    struct date birthday;
}student1,student2;

声明一个struct date类型,其中有两个成员,在声明struct student类型时,将其中的成员birthday 也能指定为 struct date类型。

4.成员名可以与程序中的变量名相同,但二者不代表同一对象。

3.结构体变量的引用

(1)不能将一个结构体变量直接作为整体进行输入输出,只能对其中的各个成员进行输入输出。

方式为;

结构体变量名.成员名 

例如:student1.num 表示student1中的成员,可以对变量的成员赋值。

eg:student1.num = 100;

 . 是成员运算符,在运算符中优先级最高,因此可以将student1.num作为一个整体看待。

2.如果成员本身属于一个结构体类型,这要用到多个成员运算符,一级一级的找到最低一级的成员。对最低的成员进行赋值或者存取和运算。

eg:student1.birthday.month

3.对结构体成员可以像普通变量一样进行各种运算(根据其类型决定)

student1.score = student2.score

sum = student1.score + student2.score

student1.age ++;

++ student1.age;

4.可以引用结构体变量成员的地址。也可以引用结构体变量的地址。如:

scanf("%d",&student1.num);

printf("%o",&student1); //输出student1的首地址

结构体变量的地址主要用于作函数参数,传递结构体的地址。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值