배열은 알고리즘에서 자주쓰인다.

하지만 취뽀용으로는 사용하는 방법정도만 알고있으면된다. 탐색 정렬 수열응용 등으로 응용될수있다.

배열의 선언

1
2
int num[0]; // 컴파일에러 . 크기가 0인배열은 선언할 수 없음
int num[1]; // 크기가 1인 배열. 요소가 1개



배열을 0으로 모두 초기화하기.

1
2
3
4
int num[] = { 11,22,33,44 }; //배열의 크기생략
int num2[]; // 컴파일에러

int num[10= { 0, }; // 배열의 요소를 모두 0으로 초기화

배열의 크기. 그리고 for문을 이용한 배열의 요소 출력

1
2
3
4
5
6
7
sizeof(num) // 4바이트 크기의 요소가 10개이므로 40
sizeof(num) /sizeof(int// 배열의 크기를 구할때는 전체공간을 요소의 크기로나눔
 
for (int i = 0; i < sizeof(num) / sizeof(int); i++) {
    printf("%d\n", num[i]);
}
 r


같은 느낌으로 2차원배열에서

1
2
3
4
5
6
7
int num[3][4= { 0, };       // 2차원 배열의 요소를 모두 0으로 초기화
 
num[0][0= 11;    // 세로 인덱스 0, 가로 인덱스 0인 요소에 값 할당
num[0][1= 22;    // 세로 인덱스 0, 가로 인덱스 1인 요소에 값 할당
sizeof(num); // 4바이트 크기의 요소가 (4x3)개 이므로 (4x4x3) = 48.
int col = sizeof(num[0]) / sizeof(int); // 가로
int row = sizeof(num) / sizeof(num[0]); // 세로


배열은 동적할당이나 포인터, 함수의 매개변수 등등으로 안쓰면 어지러워질 일이없다. 전역변수로 이를 해결한다.


백준 2846번 오르막길, 2920번 음계를 보도록 한다.

'재미있는공부이야기 > 알고리듬' 카테고리의 다른 글

KMP 알고리즘  (0) 2019.02.15
3장. 문자열  (0) 2019.02.13
2장. 정렬  (0) 2019.02.09
백준 2846번 오르막길  (0) 2019.02.09
백준 2920번 음계  (0) 2019.02.07

+ Recent posts