120 likes | 238 Views
New C Programming with a workbook. Chapter 5 배열의 이해와 다차원 배열. 배열의 의미. 일반적인 변수를 사용하는 것에 있어서 불편한 점 변수 하나에 하나의 자료만 넣어야 함 즉 , 100 개의 자료가 필요하면 100 개의 변수가 필요됨 이는 변수이름이 100 개가 요구됨 초기화 과정에서도 변수 100 개마다 하나씩 초기화해야 함 배열 여러 개의 자료를 다룰 수 있는 변수 복잡하거나 많은 양의 자료를 다룰 때 거의 필수적
E N D
New C Programming with a workbook Chapter 5 배열의 이해와 다차원 배열
배열의 의미 • 일반적인 변수를 사용하는 것에 있어서 불편한 점 • 변수 하나에 하나의 자료만 넣어야 함 • 즉, 100개의 자료가 필요하면 100개의 변수가 필요됨 • 이는 변수이름이 100개가 요구됨 • 초기화 과정에서도 변수 100개마다 하나씩 초기화해야 함 • 배열 • 여러 개의 자료를 다룰 수 있는 변수 • 복잡하거나 많은 양의 자료를 다룰 때 거의 필수적 • 배열은 변수보다 훨씬 편하고 매우 유용한 개념이지만 변수보다 다루기가 까다로움
배열의 의미 • 배열의 개념
배열의 선언과 정의 • 1차원 배열 • 1차원 배열의 선언 • 1차원 배열의 선언의 예 • 배열의 사용 데이터형태 배열명[배열크기]; int Array[10]; 첨자는 0부터 시작 배열명[첨자] = 값; // 값을 배열에 대입 변수 = 배열명[첨자]; // 배열값을 변수에 대입
배열의 선언과 정의 • 1차원 배열 • 배열의 초기값 선언 • 배열의 초기값 선언의 예 데이터형태 배열명[배열크기] = { 1번째 원소의 초기값, 2번째 원소의 초기값, ... }; /* (형식.1) */ int Array[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 크기와 초기값 수가 10개 /* (형식.2) */ int Array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 초기값 수가 10개, 자동적으로 크기 10 /* (형식.3) */ int Array[10] = { 1, 2, 3, 4, 5 }; // 6번째부터는 0으로 초기화됨
배열의 선언과 정의 • 다차원 배열 • 배열은 변수와는 달리 다차원 구조를 가지고 있음 • 2차원 배열, 3차원 배열 등등 • 2차원 배열 이상 → 다차원 배열 • “배열의 배열” • 다차원 배열의 선언 /* (형식.1) */ 데이터형태 배열명[배열크기][배열크기]; /* (형식.2) */ 데이터형태 배열명[배열크기][배열크기][배열크기]; /* (형식.3) */ 데이터형태 배열명[배열크기][배열크기]…[배열크기];
배열의 선언과 정의 • 다차원 배열 • 다차원 배열의 개념도 테이블(행,열) 면,행,열
배열의 선언과 정의 • 다차원 배열 • 다차원 배열의 사용 /* (형식.1) */ 배열명[첨자][첨자] = 값; 변수 = 배열명[첨자][첨자]; /* (형식.2) */ 배열명[첨자][첨자][첨자] = 값; 변수 = 배열명[첨자][첨자][첨자]; /* (형식.3) */ 배열명[첨자][첨자]…[첨자] = 값; 변수 = 배열명[첨자][첨자]…[첨자];
배열의 선언과 정의 • 다차원 배열 • 다차원 배열의 초기값 선언의 예 • 배열문의 실습 • [교재 152~153page] 코드 5-1 참조 /* (형식.1) */ int Array[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; /* (형식.2) */ int Array[2][3][2] = { { { 1, 2 } , { 3, 4 }, { 5, 6 } }, { { 7, 8 } , { 9, 10 }, { 11, 12 } } }; /* (형식.3) */ int Array[2][3] = { 1, 2, 3, 4, 5, 6 }; 0 1
문자열 상수와 문자배열 상수 • 문자열 • 여러 개의 문자들이 나열된 문장 • 예 > “I am a boy.” • C는 자료형 중 문자열형이 존재하지 않음 (문자배열상수 존재) • 보통은 이 문자배열 상수를 문자열 상수라 호칭 • 문자열 상수 • printf함수 호출 시 인자로 전달되는 것은 문자열 • 그 자체로 상수 • 변수 이름이 없음 • 문자열의 내용 변경 불가능 printf("Hello World! \n");
문자열 상수와 문자배열 상수 • 문자열을 상수가 아닌 변수로 활용하기 • 배열이용 • 배열과 문자열의 관계
문자열 상수와 문자배열 상수 • 문자열을 상수가 아닌 변수로 활용하기 • 문자열 배열 사용의 주의점 • 문자열 실습 • [교재 156page] 코드 5-2 참조 /* 올바르지 않은 선언 */ char Array[5] = "Array"; //문자열의 경우 NULL 문자를 포함하게 된다. 문자 개수보다 항상 1 크게 선언해야 함 - 배열 크기는 문자 개수 + 1