c语言中的结构体

前言

结构体在c语言中占据半壁江山,所以一定要好好学,在以后的数据结构中几乎全部是在玩结构体,包括用c语言写的其他软件(nginx, php)等,基本通篇都是在用到结构体。

什么结构体

c语言中有基本的数据类型外,还有数组类型,但是这些类型都比较单一,定义成什么类型后,就是这个类型了。数组也是。数组里面的所有的类型都是同一个类型。

那么,为了解决在一个定义的变量中出现多种不同的数据类型,就出现了结构体。就是在结构体内可以允许包含各种各样不同的数据类型。

结构体的申明

结构体用struct关键字来申明,比如,举个例子,申明一个人:

struct People {
    double height;
    char name[10];
    int age;
}

每个成员都用自己的类型申明,并且用;结尾。这样,就申明来一个结构体变量,这种情况下是不咱用存储空间的。只要在定义一个结构体变量的时候,才会分配空间。

定义一个结构体变量

有很多种方式来申明一个变量为结构体变量,第一种是最常见的:

struct People yangyi;

这样我就定义了一个变量yangyiPeople 类型的结构体变量。

还一种是在申明的同时就给定义了:

struct People {
    double height;
    char name[10];
    int age;
} yangyi;

像这样,直接跟在最后一个}后面写上去,就定义好了一个变量,和上面的那种方式是一样的。

还一种方式呢,是直接把结构体的名字都省略掉:

struct {
    double height;
    char name[10];
    int age;
} yangyi;

不过不推荐用这种写法,虽然看起来比较精简,但是,它却不能重复利用了,是一次性的定义了一个结构体变量yangyi,不能拿来定义另外的变量了。

结构体的初始化

上面,我们申明了结构体,并定义了一个这个类型的结构体变量,现在就是初始化了,也就是给这个结构体赋值,

struct People yangyi = {
  176.56,"yangyi",20}; //第一种初始化方式

{}花括号把里面的包含的变量依次一个一个按照他们的类型来赋值。

一定要注意的是:结构体变量的定义和赋值初始化必须是连在一起的,因为学过其他的语言的,很容易想当然的犯这个错误,将定义和初

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值