An array is a collection of elements of the same type stored in memory, e.g., a list of people’s ages.
In Solidity, the size of the array can be fixed or dynamic.
dataType[size] arrayName = <elements>;
dataType
: The data type of the elements present in the array. It should be a valid Solidity data type.arrayName
: The name of the array.size
: The size of the array. It should not be predefined in the case of a dynamic-size array.elements
: The elements of the array.In the code snippet below, we create a fixed-size array.
pragma solidity ^0.5.0; contract fixedArray { // declare a fixed size array int[5] data; // function to populate array function populate() public returns (int[5] memory) { data = [9, 2, 8, 4, 6]; return data; } }
In the code snippet above:
Line 3: We create a contract-type fixedArray
.
Line 5: We declare a fixed-size array data
of integer type and give it a size of 5
.
Line 8: We create a function populate
.
Line 9: We initialize the data
array with some elements.
Line 10: We return the data
array.
Note: Since the
data
array is a fixed-size array of length five, an error will be thrown if we try to add more than five elements.
In the code snippet below, we create a dynamic-size array.
pragma solidity ^0.5.0; contract dynamicArray { // declare a dynamic size array int[] data; // function to populate array function populate() public returns (int[] memory) { data = [9, 2, 8, 4, 6, 1, 10]; return data; } }
In the code snippet above:
Line 3: We create a contract-type dynamicArray
.
Line 5: We declare a dynamic-size array data
of integer type. As discussed earlier, we will not predefine the size of the array inside the []
.
Line 8: We create a function populate
.
Line 9: We initialize the data
array with some elements.
Line 10: We return the data
array.
Note: Since the
data
array is now a dynamic-size array, we can add as many elements as we want.
RELATED TAGS
CONTRIBUTOR
View all Courses