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.
Aufgabe
EinfachWeise 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.
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
2Variablen und Datentypen
Vorzeichenlose GanzzahlenEingaben und AusgabenVorzeichenbehaftete GanzzahlenBoolesche WerteStrings im SpeicherProfilkarte5Funktionen
FunktionsparameterRückgabewerteReine FunktionenHilfsaufrufeWiederverwendbare Berechnungen8Arrays
Arrays fester GrößeArrays mit dynamischem SpeicherSpeicher-ArraysArrays durchlaufenZusammenfassung zu ArraysÜbe selbstständig: Solidity-Playground