结构体的声明
pragma solidity ^0.4.4;
contract Students {
struct Person {
uint age;
uint stuId;
string name;
}
Person[] _person = new Person[](5);
}
结构体的初始化
pragma solidity ^0.4.4;
contract Students {
struct Person {
uint age;
uint stuId;
string name;
}
//创建对象数组
Person[] persons = new Person[](3);
//第一种赋值方式
Person _person1 = Person(18,10001,"Hisee");
Person _person2 = Person(21,10002,"Hello");
//第二种赋值方式
Person _person3 = Person({age:18,stuId:10003,name:"His"});
function Students() {
persons[0] = _person1;
persons[1] = _person2;
persons[2] = _person3;
}
function f() {
//=前半是storage类型,=后半是memory类型,编译会报错,需将前半改为memory类型。
Person memory person1 = Person(18,10004,"xiaobai");
}
}
注意:在函数内部时,=前半是storage类型,=后半是memory类型,编译会报错,需将前半改为memory类型。在函数外部时,都为storage类型。