结构体是一种自定义复杂数据类型的数据结构。它可以包含多个字段,每个字段都可以是不同的数据类型。结构体可以被用来存储复杂的数据。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pragma solidity ^0.8.0;

contract Lesson09{
struct Account {
address owner;
uint balance;
}

Account acc;

Account accStorage = Account({owner:address(0x7F7B198684E3CdB54397438FAd4C8442f34b9bd9),balance:10});

function initMemoryVar() pure public{
Account memory accMemory = Account({owner:address(0x7F7B198684E3CdB54397438FAd4C8442f34b9bd9),balance:10});
}


function setAccount() public payable{
acc.owner = msg.sender;
acc.balance = msg.value;
}
}

上面的代码定义了一个名为Account的结构体,包含2个字段owner(地址类型)和balance(无符号整型)。

初始化了一个storage类型的accStorage,也初始化了一个memory类型的accMemory变量。