Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.

Similar presentations


Presentation on theme: "1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는."— Presentation transcript:

1 1 08 배열

2 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조

3 한국대학교 객체지향연구소 3 C 로 배우는 프로그래밍 기초 2 nd Edition 배열의 선언  배열의 선언은 다음과 같은 구문을 이용  주요 요소는 배열 변수명 ( 이름 ), 자료유형, 그리고 배열의 크기 ( 원소 수 )

4 한국대학교 객체지향연구소 4 C 로 배우는 프로그래밍 기초 2 nd Edition 배열의 크기와 첨자  배열 원소 (array element)  배열 score 에서 10 개의 자료형 int 가 저장되는 각각의 항목  첨자  배열 원소는 첨자 (index) 를 사용하여 참조  즉 첫 배열 원소는 항상 첨자가 0 이며, 차례로 1 씩 증가 배열 첨자는 유효한 값의 범위를 벗어나는 경우, 문제 발생 항상 배열 첨자의 사용에 주의 첨자 범위 : 0 ~ size-1

5 한국대학교 객체지향연구소 5 C 로 배우는 프로그래밍 기초 2 nd Edition 예제 8-1

6 한국대학교 객체지향연구소 6 C 로 배우는 프로그래밍 기초 2 nd Edition 배열의 초기화  배열을 선언하면서 각 원소의 값을 지정 : 배열 초기화 (initialization)  선언에서만 이용 가능 다음 문장은 잘못된 문장 int a[4]; a = {10, 30, 40, 50};

7 한국대학교 객체지향연구소 7 C 로 배우는 프로그래밍 기초 2 nd Edition  2X4 의 이차원 배열의 선언과 구조 다차원 배열

8 한국대학교 객체지향연구소 8 C 로 배우는 프로그래밍 기초 2 nd Edition 이차원 배열의 원소 참조  중첩된 반복문의 이용이 필요  제어변수 I 행 번호  제어변수 j 열 번호

9 한국대학교 객체지향연구소 9 C 로 배우는 프로그래밍 기초 2 nd Edition 예제 8-3

10 한국대학교 객체지향연구소 10 C 로 배우는 프로그래밍 기초 2 nd Edition  문자열  문자열은 일련의 문자를 앞 뒤로 인용부호 “” 로 둘러싸서 표기  문자열은 널 (null) 문자 (\0) 가 문자 배열의 마지막에 저장  문자열을 저장하는 배열의 크기는 저장되는 문자의 개수 보다 1 이 커야 함  만일 \0 문자가 없는 경우는 문자열로 취급하지 않음  문자 하나 하나를 배열에 저장하여 문자열을 표현 가능 반드시 프로그래머가 알아서 널 문자를 문자열의 마지막에 \0 저장 문자열 처리와 저장

11 한국대학교 객체지향연구소 11 C 로 배우는 프로그래밍 기초 2 nd Edition 문자열 출력  배열이름  문자열이 저장된 배열 이름을 이용하여 printf() 문을 이용  변환병세 %s

12 한국대학교 객체지향연구소 12 C 로 배우는 프로그래밍 기초 2 nd Edition 문자열의 끝은 \0 문자  \0 문자의 효과  문자열을 구성하는 각각의 문자를 출력하는 방법  출력의 제한을 널 (\0) 문자로 검사하면 편리

13 한국대학교 객체지향연구소 13 C 로 배우는 프로그래밍 기초 2 nd Edition 문자열의 표준 입력  함수 scanf  함수 scanf() 를 이용하여 공백 ( 스페이스 ) 이 없는 문자열을 표준입력으로 받아 문자 배열에 저장  함수 scanf() 에서 %s 의 변환 명세로 입력 받는 문자열은 문자가 시작되고 공백이 나오기 이전까지의 문자열 이름을 “ 홍 길동 ” 으로 입력하면 배열 name 에는 “ 홍 ” 만이 저장되는 문제가 발생  정수나 실수의 입력 때와는 다르게 변환명세 %s 에 대응하는 변수 앞에 주소를 의미하는 연산자 & 없이 바로 배열 이름을 기술 배열의 이름 자체가 주소를 의미하기 때문

14 한국대학교 객체지향연구소 14 C 로 배우는 프로그래밍 기초 2 nd Edition 한 줄의 입출력  함수 gets, puts  한 줄에 입력되는 모든 문자열을 입력하고 출력하기 위한 함수가 gets() 와 puts()  함수를 이용하려면 헤더 파일 stdio.h 파일을 포함  함수 gets() 는 입력 받은 한 줄을 인자로 기술하는 문자 배열에 저장하는 함수 그러므로 인자 배열의 크기는 표준입력 한 줄의 문자가 모두 입력되고 마지막에 널 문자가 입력되도록 충분히 커야 함 char line[81]; gets(line); puts(line);

15 한국대학교 객체지향연구소 15 C 로 배우는 프로그래밍 기초 2 nd Edition 예제 8-6

16 한국대학교 객체지향연구소 16 C 로 배우는 프로그래밍 기초 2 nd Edition 배열의 합  연산자 sizeof 의 이용 int arraysize = sizeof(x) / sizeof(x[0]); // 배열 원소의 수 = sizeof( 배열이름 ) / sizeof( 원소의 크기 )

17 한국대학교 객체지향연구소 17 C 로 배우는 프로그래밍 기초 2 nd Edition 예제 8-7

18 한국대학교 객체지향연구소 18 C 로 배우는 프로그래밍 기초 2 nd Edition 이차원 배열의 함수 인자 이용  4 행 3 열의 이차원 배열의 합 구하는 함수  함수 원형과 함수 정의의 헤더에서 배열의 첫 번째 크기를 제외한 다른 모든 크기는 반드시 기술되어야 함.  중첩된 반복 제어변수 i 는 행을 바꾸는 변수 제어변수 j 는 열을 바꾸는 변수로 사용

19 한국대학교 객체지향연구소 19 C 로 배우는 프로그래밍 기초 2 nd Edition 배열 원소 참조  중첩된 반복문의 이용이 필요  제어변수 I 행 번호  제어변수 j 열 번호

20 한국대학교 객체지향연구소 20 C 로 배우는 프로그래밍 기초 2 nd Edition 이차원 배열의 행 수 계산  행 수  함수 sum() 을 호출하려면 배열의 이름과 함께 행의 수가 필요 int rowsize = sizeof(x) / sizeof(x[0]); printf(" 함수에서 구한 2 차원 배열원소 합은 %.3lf 이다. \n", sum(x, rowsize));

21 한국대학교 객체지향연구소 21 C 로 배우는 프로그래밍 기초 2 nd Edition 예제 8-8

22 22 C 로 배우는 프로그래밍 기초 2 nd Edition


Download ppt "1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는."

Similar presentations


Ads by Google