Solidity基础知识入门(五)固定大小字节数组

本文介绍了Solidity中固定大小字节数组的声明、操作运算符、成员函数及不可变深度解析。固定大小字节数组用于存储二进制内容,长度和内部字节在声明后不可修改,可通过索引进行只读访问。
摘要由CSDN通过智能技术生成

固定大小字节数组(Fixed-size byte arrays)

固定大小字节数组可以通过 bytes1bytes2bytes3, …, bytes32来进行声明。PS:byte的别名就是 bytes1

注意:固定大小字节数组和可变字节数组可以简单的理解为一串字母和数字,与其他语言的数组(array:[1,2,3])不同,其后要说到的数组类型和其他语言的数组一致。--!

  • bytes1只能存储一个字节,也就是二进制8位的内容。
  • bytes2只能存储两个字节,也就是二进制16位的内容。
  • bytes3只能存储三个字节,也就是二进制24位的内容。
  • ……
  • bytes32能存储三十二个字节,也就是二进制32 * 8 = 256位的内容。
pragma solidity ^0.4.4;

contract C {

    // 0x6c697975656368756e

    byte public a = 0x6c; // 0110 1100
    bytes1 public b = 0x6c; // 0110 1100
    bytes2 public c = 0x6c69; // 0110 1100 0110 1001
    bytes3 public d = 0x6c6979; // 0110 1100 0110 1001 0111 1001
    bytes4 public e = 0x6c697975; // 0110 1100 0110 1001 0111 1001 0111 0101

    // ...

    bytes8 public f = 0x6c69797565636875; // 0110 1100 0110 1001 0111 1001 0111 0101 0110 0101 0110 0011 0110 1000 0111 0101
    bytes9 public g = 0x6c697975656368756e; // // 0110 1100 0110 1001 0111 1001 0111 0101 0110 0101 0110 0011 0110 1000 0111 0101 0110 1110

}

Fixed-size byte arrays

说明

0x 6c 69 79 75 65 63 68 75 6e是一个十六进制的整数,它的二进制码是

Solidity中的数组是一种用于存储相同类型数据的数据结构。数组可以是固定大小的,也可以是动态大小的。固定大小数组在声明时需要指定数组大小,并且元素的总数不应超过数组大小Solidity中的数组是一种用于存储相同类型数据的数据结构。数组可以是固定大小的,也可以是动态大小的。固定大小数组在声明时需要指定数组大小,并且元素的总数不应超过数组大小。而动态数组大小在声明时没有预定义,随着元素的添加,数组大小会发生变化,并且在运行时,数组大小将被确定。Solidity中的数组是一种用于存储相同类型数据的数据结构。数组可以是固定大小的,也可以是动态大小的。固定大小数组在声明时需要指定数组大小,并且元素的总数不应超过数组大小。而动态数组大小在声明时没有预定义,随着元素的添加,数组大小会发生变化,并且在运行时,数组大小将被确定。在Solidity中声明数组时,需要指定元素的数据类型和元素的数量。数组大小必须是正整数并且数据类型应该是有效的Solidity类型。以下是一些Solidity数组的示例: 1. 固定大小数组声明:uint myArray; 2. 固定大小数组初始化:uint myArray = [1, 2, 3, 4, 5]; 3. 动态数组声明:uint[] myArray; 4. 动态数组初始化:uint[] myArray = [1, 2, 3]; 5. 动态数组添加元素:myArray.push(4); 6. 访问数组元素:myArray;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值