结构体是什么

结构体

如果你知道变量是什么,也大概了解指针是什么,那先看下面的代码

typedef struct node{	
	int data;
	struct node *next;
}NODE,*LinkList;

这里就运用到结构体,结构体就是将许多个类型的变量打包变成一个新的变量

打个比方:

  • 首先,变量可以比喻成一个只有一个房间的房子
  • 然后这个房子占多大的地,就是这个变量的数据类型
  • 这个房子的地址,比如某街道多少多少号,就是变量的物理地址
  • 门牌号,如3栋A梯,就是这个变量的变量名
  • 就是然后这个房子的房间里面可以放各种家具,也就是给变量赋值
  • 结构体就相当于是一个很多房间的大房子
  • 每一个房间都可以看作是一个独立的单独房间的房子,也就是结构体是由很多个不同数据类型的变量组成的
  • 但是这个大房子只有一个门牌号,里面有很多个房间号,唯一的门牌号就是这个结构体的名字,而里面的一个个房间号就是不同类型的变量的变量名

所以结构体是一个很多个不同类型的变量组合而成的大变量

  • 然后上面的node,其实只是一个样板房,就是只是参考的,在存储空间里还没有真正创建
  • node就是这个样板的名字,其中有一个int大小的放数据的房间叫做data
  • 还有一个用来存放地址的指针房间*next,而且这个指针只能指向node类型的房子

要提一下,指针要指向数据,他的类型一定要和它指的类型是一样的,虽然指针内存的地址的大小是固定,但是对于数据操作的操作码会不一样,反正要一样就对了

  • 然后刚刚说的只是样板房,下面的NODE才是真正建了一个这样的房子
  • 也就是建了一个node类型,门牌号叫NODE的房子
  • 然后也建了一个能够指向node类型房子的指针*LinkList

这就是刚刚的那段代码的大概意思了,结构体也就是这样的一个房子,然后顺着房子可以想象函数就是一个小区,里面有很多个房子,然后各种逻辑操作,其实就是小区的道路,而操作代码,就是你在这个小区里面怎么走、在房子里放什么,感觉都抽象成具体的东西会更好理解

大概就是这样了,只是个人理解哈,希望能够帮到你~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值