Menu
Coddy logo textTech

Array con memoria dinamica

Fa parte della sezione Fondamenti del percorso Solidity di Coddy. Lezione 37 di 53.

Usa new uint256[](length) per allocare in memoria un array con una lunghezza scelta in fase di esecuzione. I suoi elementi iniziano a zero. Sebbene il tipo utilizzi parentesi quadre vuote, l'array allocato in memoria non può essere ridimensionato con push o pop.

Le istruzioni in questo estratto vengono eseguite all'interno della funzione main fornita.

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

L'array ha tre posizioni e solo quella centrale è stata assegnata. Il suo primo elemento resta zero. La proprietà length indica quanti elementi esistono, non il valore dell'ultimo elemento.

Un array di memoria uint256 appena allocato inizia con elementi di valore zero.

challenge icon

Sfida

Facile

Alloca un array in memoria di lunghezza n, imposta il suo ultimo elemento su marker, quindi stampa la sua lunghezza e l’ultimo elemento. n è compreso tra 1 e 8.

I test passano gli argomenti a main in questo ordine: uint256 n, uint256 marker. Ogni test inizia con lo stato del contratto ripristinato.

Usa console.log per l’output richiesto. Stampa solo i valori richiesti, uno per riga, senza etichette aggiuntive, a meno che l’attività non le specifichi.

Provalo tu

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 n, uint256 marker) external view {
        // Scrivi qui la tua soluzione.
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Solidity