C++6강
C++ 6강
배열 Array
같은 데이터타입을 가진 다수의 변수들을 하나의 변수만으로 저장할 수 있게 도와주는 자료구조
[TOC]
배열의 크기 구하기
-
integer 하나당 크기 : 4byte // sizeof(int);
-
character 하나당 크기 : 1byte // sizeof(char);
int kor[50] = kor[0], kor[1]… kor[49]; [인덱스]는 0부터 시작한다.
❔왜냐하면 메모리 주소가 0부터 시작하기 때문!
-
함수 sizeof()
1 | printf("%d",sizeof(arrayName)); | cs |
sizeof(kor) = 4byte(integer하나의 크기)x50 = 200byte
배열[인덱스] : 인덱스는 배열의 범위를 벗어나지 않도록 주의!
배열 값 저장해주기
-
루프 돌리기
1 2 3 4 5 | int a[10]; for(i=0; i<10; i++){ a[i]= i+1; } | cs |
-
바로 선언해주기
1 | int a[10] = {1,2,3,4,5,6,7,8,9,10}; | cs |
결과 : a[0] = 1, a[1] = 2, a[2] = 3… a[9] = 10
avg = avg + a[1]; 👉 avg += a[1];
avg = avg/10; 👉 avg /= 10;
-
배열 초기화하기
1 | int numArr[10] = { 0, }; | cs |
문자열 Array 만들기
기본식
1 | char c[8] = {'a','n','t','h','o','n','y','\0'}; | cs |
❗character Array의 마지막은 항상 ‘\0’을 추가하여 여기가 char Array의 끝이라는 것을 알려줘야한다!
‘\0’ = null terminater
그러므로 인덱스에 +1이 추가된다.
간편한 표현법 1
1 | char c[8] = "anthony"; | cs |
single quotation이 아닌 double quotation으로 한번에 string을 array에 저장할 수 있다. (null terminater는 알아서 인식한다!)
간편한 표현법 2
1 | char c[] = "anthony"; | cs |
Array의 사이즈는 알아서 계산해~
2D Array
2차원 배열
1 2 3 4 5 6 7 8 | 자료형 배열이름 [세로크기][가로크기]; int numArr[3][4] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; int num1 = numArr[0][2]; | cs |
int num1 : 2차원 배열에서 세로 인덱스 0, 가로 인덱스 2인 요소에 접근 = 3
-
2중 for문을 이용한 2차원 배열 값 출력
1234567891011121314int numArr[3][4] = {{11, 22, 33, 44},{55, 66, 77, 88},{99, 110, 121, 132}};int row = sizeof(numArr[0]) / sizeof(int);int col = sizeof(numArr) / sizeof(numArr[0]);for (int i=0; i < col; i++){for (int j=0; j < row; j++){printf("%d",numArr[i][j];}printf("\n");}cs 라인6 : row(가로 요소가 최대 몇개) = 가로 한 줄의 크기 / 요소의 크기
라인7 : col(세로 요소가 최대 몇개) = 전체 배열 크기/ 가로 한줄의 크기
라인9 : 세로 요소 갯수만큼 반복
라인10 : 가로 요소 갯수만큼 반복
라인11 : numArr[세로 i ][가로 r]
라인13 : 가로 요소를 출력한 뒤 다음 줄로 넘어감
-
2차원 배열 초기화하기
1 | int numArr[3][4] = { 0, }; | cs |
Leave a comment