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.
Défi
FacileAllouez 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.
}
}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
2Variables et types
Entiers non signésEntrées et sortiesEntiers signésValeurs booléennesChaînes en mémoireCarte de profil5Fonctions
Paramètres des fonctionsValeurs de retourFonctions puresAppels de fonctions auxiliairesCalculs réutilisables8Tableaux
Tableaux de taille fixeTableaux à mémoire dynamiqueTableaux de stockageParcourir les tableaux en boucleRésumé des tableauxEntraînez-vous par vous-même : Playground Solidity