배열의 개념을 이해하고 있습니까? 인덱스가 여러 개인 변수?
모든 초기화는 모든 인덱스에 시작 값을 설정하는 것입니다.
게시 한 예와 같이 각 인덱스에 개별적으로 값을 설정하거나,
모든 인덱스에 대해 초기 값을 동일하게 하려면 다음과 같이 값을 한 번만 입력하면 됩니다.
int myarray[ 100 ]={ 0 }; //initializes all 100 indexes to value zero
또는,
int myarray[ 100 ][ 5 ]={- 1 }; //multi dimensions, initializes all 500 indexes to -1.
또한 mql4 책에 몇 가지 오류가 있다는 점에 유의하십시오. 나는 그것이 말할 때 두 번째 예에서 생각합니다.
"초기화된 시퀀스에서 하나 또는 여러 개의 상수를 생략할 수 있습니다. 이러한 경우 숫자 유형의 해당 배열 요소 가 0으로 초기화되고, 문자열 유형의 배열 요소는 문자열 값으로 초기화됩니다."(공백이 없는 인용 부호), 즉 빈 줄로 지정합니다(공백과 혼동하면 안 됨 )."
그런 다음 이 예를 보여줍니다.
string Mas_s[ 4 ] = { "a" , "b" , , "d" }; // String array
아마도 다음과 같은 의미였을 것입니다.
string Mas_s[ 4 ] = { "a" , "b" , "" , "d" }; // String array그것은 또한 책 어딘가에 "모든 배열은 기본적으로 정적 유형입니다"라고 말합니다. 이는 전역 변수인 경우를 제외하고 정적으로 정의되지 않는 한 정적이 아닌 다른 변수와 같은 오류이기도 합니다.
배열의 개념을 이해하고 있습니까? 인덱스가 여러 개인 변수?
모든 초기화는 모든 인덱스에 시작 값을 설정하는 것입니다.
모든 인덱스에 대해 시작 값을 동일하게 하려면 다음과 같이 값을 한 번만 입력할 수 있습니다.
int myarray[100] {0} // 100개의 모든 인덱스를 값 0으로 초기화합니다.
권리
나는 아직도 약간 혼란스럽다.
따라서 배열이 있는 경우
이중 myarray[100]
Array 유형(double), Array 이름(myarray) 및 인덱스 수(100)를 선언했습니다.
Double myarray[100] = {1, 2, 3, ....}을 사용하여 배열 MyArray의 값을 할당하여 myarray[1]=1 및 myarray[2]=2 ect가 되도록 할 수 있습니까?
지금까지 루프에서 값을 가져오기 위한 목적으로 배열만 구성했으며 그 후에도 배열은 매우 느슨하게 사용되었습니다.
고마워, 그 실수를 지적함으로써 내가 가지고 있던 사소한 질문이 해결되었습니다.
첫 번째 배열 인덱스는 0이므로 그렇게 하면
이중 myarray[100] = {1,2,3 .....};
myarray[0] == 1, myarray[1] ==2 등
아 맞다.
다차원 배열이 있으면 어떻게 될까요?
Double Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5} (미안하지만 이전에 정수를 사용했음을 알았음)
값을 어떻게 부를 수 있습니까?
myarray[index,index]와 같이 호출합니다. 또는 myarray[인덱스][인덱스]; 같은 일을합니다.
발 = myarray[2,2]; //배열 인덱스 2,2에서 값을 가져와 val에 넣습니다.
인쇄(myarray[2,2]); //출력한다
경고(myarray[2][2]); //알림
값은 어떻게 될까요?
이중 Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5}
마이어레이[1][3]=?
3 x 4 어레이가 있습니다.
이중 Myarray[3][4] = {0.1,0.2,0.3,0.4,0.5} ;
이렇게 채워질거야
Myarray[0,0] = 0.1;
Myarray[0,1] = 0.2;
Myarray[0,2] = 0.3;
Myarray[0,3] = 0.4;
Myarray[1,0] = 0.5;
Myarray[1,1] = 0.0;
Myarray[1,2] = 0.0;
등
나 지금 정신없어..
Myarray[3][4]는 다차원이 아닙니다. 그렇다면 왜 차원 중 하나의 값을 변경하여 값을 호출할 수 있습니까?
mql4 가이드에서 어레이에 대해 배웠는데 문제가 있는 주제를 발견했습니다. 배열 초기화가 약간 어리둥절합니다. 아래 설명을 이해하지 못합니다.
"
배열 초기화
배열은 해당 유형의 상수로만 초기화할 수 있습니다. 1차원 및 다차원 배열은 쉼표로 구분된 1차원 상수 시퀀스로 초기화됩니다. 시퀀스는 중괄호 안에 포함됩니다.
"
배열이 해당 유형의 상수로만 초기화될 수 있다는 사실에 혼란스럽지 않지만 배열 초기화의 개념과 1차원 시퀀스가 다차원 배열을 시작할 수 있다는 사실에 대해서는 혼란스럽습니다.
나는 다음과 같이 혼란스러워한다.
"
초기화된 시퀀스에서 하나 이상의 상수를 생략할 수 있습니다. 이러한 경우 숫자 유형의 해당 배열 요소는 0으로 초기화되고, 문자열 유형의 배열 요소는 문자열 값 ""(공백이 없는 인용 부호), 즉 빈 줄(공백과 혼동되어서는 안 됨)로 초기화됩니다. ). 다음 프로그램은 일부 값이 생략된 시퀀스로 초기화된 배열 값을 표시합니다(스크립트 arrayalert.mq4 ) .
"
궁극적으로 나는 배열 초기화의 개념을 파악하지 못하고 있습니다.