Menu
Coddy logo textTech

동적 메모리 배열

Coddy Solidity 여정의 기초 섹션에 포함된 레슨. 53개 중 37번째.

new uint256[](length)를 사용하면 실행 중에 길이가 결정되는 메모리 배열을 할당할 수 있습니다. 요소는 0으로 시작합니다. 타입에 빈 대괄호가 사용되지만, 할당된 메모리 배열은 push 또는 pop으로 크기를 조정할 수 없습니다.

이 발췌문의 문은 제공된 main 함수 내부에서 실행됩니다.

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

배열에는 세 개의 슬롯이 있으며 가운데 슬롯에만 값이 할당되었습니다. 첫 번째 요소는 0으로 유지됩니다. length 속성은 마지막 요소의 값이 아니라 존재하는 요소의 개수를 보고합니다.

새로 할당된 uint256 메모리 배열은 값이 0인 요소로 시작합니다.

challenge icon

챌린지

쉬움

길이가 n인 메모리 배열을 할당하고, 마지막 요소를 marker로 설정한 다음 길이와 마지막 요소를 출력하세요. n은 1 이상 8 이하입니다.

테스트는 다음 순서로 main에 인수를 전달합니다: uint256 n, uint256 marker. 각 테스트는 새로운 컨트랙트 상태로 시작합니다.

요청된 출력을 위해 console.log를 사용하세요. 요청된 값만 한 줄에 하나씩 출력하고, 과제에서 지정하지 않는 한 추가 레이블은 출력하지 마세요.

직접 해보기

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 n, uint256 marker) external view {
        // 여기에 솔루션을 작성하세요.
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Solidity 플레이그라운드