存储位置
基础
默认数据位置
状态变量默认storage
内部函数参数默认memory
外部函数参数默认calldatapragma solidity ^0.8.0;
contract SimpleAssign{
// storage 类型
struct S{
string a;
uint b;
}
function assign(S s) internal{
// 函数参数默认是 memory 类型,即 s 是 memory 类型
// 局部变量默认 storage 类型
// 将一个memory类型的参数赋值给storage类型的局部变量会报错。
S tmp = s; // 报错
}
}值转换
Memory
概述
特点
操作码
Calldata
概述
特点
操作码
常用操作
Memory变量
storage变量
区别
Last updated