Skip to content

Files

Latest commit

ee81c69 · Sep 30, 2024

History

History
115 lines (95 loc) · 7.33 KB

File metadata and controls

115 lines (95 loc) · 7.33 KB

WTF Solidity 極簡入門:6. 引用類型

重點內容

Note

重要變量類型 array 和 struct

隨筆

array

  • 固定長度 array:用 T[k] 格式聲明,T 是元素的類型,k 是長度
  • 可變長度 array (動態陣列):用 T[] 格式聲明

Tip

bytes比较特殊,是陣列,但是不用加 []。另外不能用 byte[] 聲明單字節陣列,可以使用 bytes 或 bytes1[]。

Tip

bytes 比 bytes1[] 省 gas

struct

題目練習

  1. Q: 以下选项中不属于固定长度数组的是?
    A: address[] array1

  2. Q: 以下选项中不属于可变长度数组的是?
    A: address[6] array2

  3. Q: 以下关于数组的说法中,正确的是?
    A: memory 陣列的長度在創建後是固定的

  4. Q: 数组和结构体分别属于什么类型?
    A: 兩者皆為引用類型

  5. Q: 以下关于结构体的说法中,错误的是?
    A: 結構體內可以包含其本身

  6. Q: 有如下一段合约代码,执行initStudent方法后, student.idstudent.score 的值分别为?

       contract StructTypes {
          struct Student{
             uint256 id;
             uint256 score; 
          }
          Student student;
          function initStudent() external{
             student.id = 100;
             student.score = 200;
             Student storage _student = student;
             _student.id = 300;
             _student.score = 400;
          }
       }

    A: 300 400