크립토좀비 1단계-6) 배열

2022. 1. 31. 21:22BlockChain/크립토좀비

 

크립토좀비 1단계-6 배열 파트를 진행하면서 구조체의 배열을 생성하는 방법에 대해서 배웠다. 

 

자바에서는 int[] newArray=new int[5]; (정적 배열 : 배열 크기가 5로 정해짐)하는 식으로 해서 배열을 생성해왔는데 

솔리디티에서의 배열도 동적/정적 배열이 있다. 

 

또한 앞에서 선언한 구조체를 이용해서 배열을 선언할 수 있다. 구조체 배열은 구조체 밖에서 선언한다. 

구조체 안에서 쓰면 구조체 안에서만 쓸 수 있다. 

 

pragma solidity ^0.4.19;

contract ZombieFactory {

    uint dnaDigits = 16;
    uint dnaModulus = 10 ** dnaDigits;

    struct Zombie {
        string name;
        uint dna;
    }
    
    Zombie[] public zombies; 

}

 

작성한 코드 Zombie[] public zombies; 

 

* 지금까지 진행 과정 

1. 솔리디티를 사용하기 위해서는 pragma solidity ^버전명을 꼭 위에 선언해주어야 한다. 

2. ZombieFactory 컨트랙트 선언 

> 컨트랙트는 이더리움 애플리케이션의 기본적인 구성 요소이다. 모든 변수와 함수는 컨트랙트에 속한다. 

컨트랙트는 모든 프로젝트의 시작 지점 

3. 변수 선언 (unit 부호없는 변수. 값이 음수이면 안된다 / int 정수형) 

지수를 표현하고 싶을 때는 **를 사용한다 (ex. 2의 5승) 

4. 구조체 선언 struct 데이터를 좀 더 효율적으로 관리하고, 다른 곳에 데이터를 전달하기 용이하도록. 

struct { 

 자료형 멤버이름; 

} 으로 선언한다. 

5. 구조체 배열 

구조체 밖에서 구조체이름[] 선언방법(public형인지?) 구조체배열이름; 으로 선언한다.