Menu
CoddyTech

array dengan Memori Dinamis

Termasuk bagian Dasar-Dasar dalam perjalanan Solidity di Coddy. Pelajaran 37 dari 53.

Gunakan new uint256[](length) untuk mengalokasikan array di memori dengan panjang yang dipilih saat program dijalankan. Elemen-elemennya dimulai dengan nilai nol. Meskipun tipe ini menggunakan tanda kurung siku kosong, array di memori yang dialokasikan tidak dapat diubah ukurannya dengan push atau pop.

Pernyataan dalam cuplikan ini dijalankan di dalam fungsi main yang disediakan.

uint256[] memory values = new uint256[](3);
values[1] = 19;
console.log(values.length);
console.log(values[0]);

array memiliki tiga slot dan hanya slot tengah yang diberi nilai. Elemen pertamanya tetap nol. property length melaporkan jumlah elemen yang ada, bukan nilai elemen terakhir.

array memory uint256 yang baru dialokasikan dimulai dengan elemen bernilai nol.

challenge icon

Tantangan

Mudah

Alokasikan array memori dengan panjang n, tetapkan elemen terakhirnya ke marker, lalu cetak panjangnya dan elemen terakhirnya. n berada di antara 1 dan 8.

Pengujian memberikan argumen kepada main dalam urutan ini: uint256 n, uint256 marker. Setiap pengujian dimulai dengan state kontrak yang baru.

Gunakan console.log untuk output yang diminta. Cetak hanya nilai yang diminta, satu per baris, tanpa label tambahan kecuali jika tugas memintanya.

Coba sendiri

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 n, uint256 marker) external view {
        // Tulis solusimu di sini.
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Solidity