千家信息网

怎样进行struct的解析

发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这期内容当中小编将会给大家带来有关怎样进行struct的解析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。struct语法struct类似于对于一个对象属性的封装。
千家信息网最后更新 2025年11月11日怎样进行struct的解析

这期内容当中小编将会给大家带来有关怎样进行struct的解析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

struct语法

struct类似于对于一个对象属性的封装。例如一个学生,可能会有姓名、学号等属性。将这些属性封装起来,成为一个结构体。

1
2
3
4
struct 对象名{
变量类型1 变量名1;
变量类型2 变量名2;
}

struct声明

定义一个学生类

1
2
3
4
struct student{
uint grade;
string name;
}

结构体不能包含自身

1
2
3
4
5
struct student{
uint grade;
string name;
//student s;结构体不能包含自身
}

结构体可以嵌套

一个结构体内部可以包含另一个结构体。

1
2
3
4
5
6
7
8
9
10
struct student{
uint grade;
string name;
}

struct student2{
uint grade;
string name;
student ss; //包含另一个结构体
}

结构体内部可以包含自身的动态数组

1
2
3
4
5
struct student3{
uint grade;
string name;
student3[] stu;//结构体内部可以包含自身的动态数组
}

结构体内部可以包含自身的mapping映射。

1
2
3
4
5
struct student4{
uint grade;
string name;
mapping(uint=>student4) studentMap;
}

struct实例化

定义一个结构体有多种方式

1
2
3
4
5
6
7
8
9
struct student{
uint grade;
string name;
}
//方式一、将100、"jackson" 按顺序赋值给student。
student(100,"jackson")

//方式二、按名字赋值
student({name:"jackson",grade:100})

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
pragma solidity ^0.4.23;


contract structTest{

struct student{
uint grade;
string name;
//student s;
}


struct student2{
uint grade;
string name;
student ss;
}

struct student3{
uint grade;
string name;
student ss;
student3[] stu;

}


struct student4{
uint grade;
string name;
student ss;
student3[] stu;
mapping(uint=>student4) studentMap;

}

function init() public pure returns(uint,string){
student memory s = student(100,"jackson");
student3[3] memory stu;
return (s.grade,s.name);
}


function init2() public pure returns(uint,string){
student memory s = student({name:"jackson",grade:100});
return (s.grade,s.name);
}
}

上述就是小编为大家分享的怎样进行struct的解析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

结构 变量 属性 方式 内容 动态 学生 对象 数组 类型 分析 封装 专业 中小 代码 内容丰富 名字 多种 姓名 学号 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 直播软件开发流程图 精灵盛典无法获取服务器列表 宝塔怎么删除数据库文件 软件开发工程师要求专业 魔兽世界服务器最后的玩家 战士新服务器连接失败 蒙阴网络安全大队 手机怎么看备用dns服务器 数据库就是储存数据的仓库 形势与政策论文重视网络安全 股票分析app软件开发 我的世界ice服务器的密码 5g下软件开发趋势 查看达梦数据库的编码格式 华为应届生软件开发工资 网络安全操作内容 华为云服务器和腾讯云服务器 校园网络安全知识禁赛 淄博联想服务器代理供应商 网络安全教育画框 加强欧洲网络安全 软件开发具体用到什么 石景山区口碑好的软件开发怎么样 赛博朋克手游服务器 人工神经网络技术在审计的应用 敦煌汉简文献数据库 阿里云盘做服务器 数据库预测碱基突变的意义 服务器虚拟化涉及哪两个方向 高新区营销网络技术费用
0