Menu
Coddy logo textTech

Tableaux à mémoire dynamique

Fait partie de la section Fondamentaux du Journey Solidity de Coddy. Leçon 37 sur 53.

Utilisez new uint256[](length) pour allouer en mémoire un tableau dont la longueur est choisie au moment de l’exécution. Ses éléments commencent à zéro. Bien que le type utilise des crochets vides, le tableau en mémoire alloué ne peut pas être redimensionné avec push ou pop.

Les instructions de cet extrait s’exécutent dans la fonction main fournie.

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

Le tableau comporte trois emplacements et seul l’emplacement du milieu a été assigné. Son premier élément reste égal à zéro. La propriété de longueur indique le nombre d’éléments existants, et non la valeur du dernier élément.

Un tableau uint256 nouvellement alloué en mémoire commence avec des éléments de valeur zéro.

challenge icon

Défi

Facile

Allouez un tableau mémoire de longueur n, définissez son dernier élément sur marker, puis affichez sa longueur et son dernier élément. n est compris entre 1 et 8.

Les tests transmettent les arguments à main dans cet ordre : uint256 n, uint256 marker. Chaque test commence avec un état de contrat réinitialisé.

Utilisez console.log pour la sortie demandée. Affichez uniquement les valeurs demandées, une par ligne, sans étiquettes supplémentaires, sauf si la tâche les spécifie.

Essayez vous-même

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 n, uint256 marker) external view {
        // Écrivez votre solution ici.
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Playground Solidity