배열은 알고리즘에서 자주쓰인다.
하지만 취뽀용으로는 사용하는 방법정도만 알고있으면된다. 탐색 정렬 수열응용 등으로 응용될수있다.
배열의 선언
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]); } |
같은 느낌으로 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 |