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

Slides:



Advertisements
Similar presentations
제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
Advertisements

Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
Chapter 12 배열. 2 배열  의미  배열은 연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조로 그 사용이 간편  배열은 동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조 일반 변수가 단독주택이라면 배열은 아파트  크기  배열의.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
제2장 C 언어의 확장 C++(1).
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
Chapter 14 포인터.
제 9 장 구조체와 공용체.
-Part2- 제3장 포인터란 무엇인가.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
5장 배열 작성자 : 변재현.
누구나 즐기는 C언어 콘서트 제8장 배열.
5장. 참조 타입.
제 3장. C보다 나은 C++ II.
Name Title Company Name
C 프로그래밍.
Heesang kim PL/SQL 3 Heesang kim.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
제8장 배열 1부 8.1 배열 8.2 배열의 초기화 8.3 배열의 응용 8.4 정렬과 탐색 8.5 다차원 배열.
6장. printf와 scanf 함수에 대한 고찰
2007 1학기 11 프로젝트 기초 실습.
Tail-recursive Function, High-order Function
14장. 포인터와 함수에 대한 이해.
11장. 1차원 배열.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
처음으로 배우는 C 프로그래밍 제4부 복합 데이터 형 제 8 장 배열, 주소, 포인터.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
인터넷응용프로그래밍 JavaScript(Intro).
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
19. 함수 포인터와 void 포인터.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
처음으로 배우는 C 프로그래밍 제4부 복합 데이터 형 제 7 장 배열.
5장 배열과 문자열 C 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
8주차: Strings, Arrays and Pointers
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
[ 단원 04 ] 반복과 배열.
데이터 동적 할당 Collection class.
에어 PHP 입문.
구조체 (Structure).
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
Numerical Analysis Programming using NRs
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
김선균 컴퓨터 프로그래밍 기초 - 12th : 문자열 - 김선균
어서와 C언어는 처음이지 제21장.
13. 포인터와 배열! 함께 이해하기.
6 객체.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

1 08 배열

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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