Menu
Coddy logo textTech

Arrays mit dynamischem Speicher

Teil des Abschnitts Grundlagen der Solidity-Journey von Coddy. Lektion 37 von 53.

Verwende new uint256[](length), um im Speicher ein Array mit einer zur Laufzeit festgelegten Länge zuzuweisen. Seine Elemente beginnen mit dem Wert null. Obwohl der Typ eckige Klammern ohne Inhalt verwendet, kann die zugewiesene Speicherarraygröße nicht mit push oder pop geändert werden.

Die Anweisungen in diesem Ausschnitt werden innerhalb der bereitgestellten main-Funktion ausgeführt.

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

Das Array hat drei Plätze, und nur dem mittleren Platz wurde ein Wert zugewiesen. Sein erstes Element bleibt null. Die Längeneigenschaft gibt an, wie viele Elemente vorhanden sind, nicht den Wert des letzten Elements.

Ein neu zugewiesenes uint256-Speicherarray beginnt mit Elementen mit dem Wert null.

challenge icon

Aufgabe

Einfach

Weise ein Speicherarray der Länge n zu, setze sein letztes Element auf marker und gib anschließend seine Länge und sein letztes Element aus. n liegt zwischen 1 und 8.

Die Tests übergeben main die Argumente in dieser Reihenfolge: uint256 n, uint256 marker. Jeder Test beginnt mit einem neuen Vertragszustand.

Verwende console.log für die angeforderte Ausgabe. Gib nur die angeforderten Werte aus, einen pro Zeile, ohne zusätzliche Bezeichnungen, sofern die Aufgabe diese nicht ausdrücklich verlangt.

Probier es selbst

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 n, uint256 marker) external view {
        // Schreibe deine Lösung hier.
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Solidity-Playground