结构体

结构体

  • 定义
  • 访问
  • 初始化

定义

struct Name
{
  任意类型的数据;
};

举例:

struct Node
{
  int data;
  Node *next;
}node,*node1,node2[1010];

Node 结构体类型名node结构体变量;node[1010]结构体数组;

结构体内部能定义除了自己本身外的任何变量,但可以定义自身类型的指针变量;(即不能定义自己,能定义自己的指针);

访问

两种访问方式:".”方式和“->"方式;

普通变量node访问方式:node.data,node.next;

指针变量node1访问方式:node1->data,node->next;

指针变量就是特殊(这就叫会哭的变量有糖吃??😂)指针变量还有一种访问方法,它可以向普通变量一样访问,别人有的他也有,只要加一个*号就可以了:(*node1).data,(*node).next;

初始化

对他最陌生的初始化,但是用习惯了之后应该会很方便把;

构造函数:用来初始化结构体,函数名和结构体类型名一样,无返回类型(名同,无返);

一般结构体都会默认生成一个无参数,无函数体的构造函数;(无体,无参);

例子:

struct Node
{
  int data;
  Node *next;
Node(){}
};//原

调用:
Node node[2]={10,1000,11,1111};



struct Node
{
int data;
Node *next;
Node(int data1,Node *nodee){
data=data1;
node=nodee;
}
};//初始化后


或者把初始化简化成一行;
struct Node
{
int data;
Node *next;
Node(int data1,Node *nodee) :data(data1),node(nodee){}
}


定义时可以直接用:
Node node=Node(001,n);这种形式来做;

构造函数和Java有点类似,调用方式也有点类似;

 

4.一般来说,涉及到结点的问题用的比较多,像是树(数据,左孩子,右孩子),学生信息(姓名,学号,年龄。。。可以联想到数据库里面的学生信息存储,选课信息等),等以后想到再补充;

练习题解答:https://blog.csdn.net/weixin_43863618/article/details/104553159

指向结构体数组的指针:https://blog.csdn.net/weixin_43863618/article/details/104557901

 

待解决问题:

结构体变量可以向结构体数组一样直接用花括号赋值吗?

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值