1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.

Slides:



Advertisements
Similar presentations
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
Advertisements

Chapter 12 배열. 2 배열  의미  배열은 연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조로 그 사용이 간편  배열은 동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조 일반 변수가 단독주택이라면 배열은 아파트  크기  배열의.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
포인터란? 사전적 의미로써 지시자 혹은 가리키는 것으로 풀이할 수 있으나, C프로그래밍 언어에서는 메모리의 주소를 저장하는 변수이다. 포인터 자체가 하나의 변수이기 때문에 포인터도 메모리 내에서 선언이 되며 일반 상수를 저장하는 변수가 아닌 주소값을 저장하는 변수라는 점에서.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
제 9 장 포인터.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
Chapter 14 포인터.
제 9 장 구조체와 공용체.
컴퓨터 프로그래밍 기초 [Final] 기말고사
-Part2- 제3장 포인터란 무엇인가.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
개정판 누구나 즐기는 C언어 콘서트 제9장 포인터 출처: pixabay.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
5장 배열 작성자 : 변재현.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
2007 1학기 16 구조체.
누구나 즐기는 C언어 콘서트 제8장 배열.
Name Title Company Name
C 프로그래밍.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
제8장 배열 1부 8.1 배열 8.2 배열의 초기화 8.3 배열의 응용 8.4 정렬과 탐색 8.5 다차원 배열.
Tail-recursive Function, High-order Function
14장. 포인터와 함수에 대한 이해.
11장. 1차원 배열.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
처음으로 배우는 C 프로그래밍 제4부 복합 데이터 형 제 8 장 배열, 주소, 포인터.
C#.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Report #3 - due: 4/6 100*100의 2개의 희소 행렬 A, B를 전달 받아서 이들의 덧셈을 구하고, 그 결과의 행렬 C를 반환하는 add_sparse_matrix(A, B, C)를 다음과 같이 작성하라. 희소 행렬은 sparse_matrix 타입으로 표현된다.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
구조체.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
처음으로 배우는 C 프로그래밍 제4부 복합 데이터 형 제 7 장 배열.
5장 배열과 문자열 C 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
8주차: Strings, Arrays and Pointers
Chapter 08. 함수.
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
[ 단원 04 ] 반복과 배열.
제 6 장 함수(functions).
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 09. 포인터 1.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
Summary of Pointers and Arrays
Numerical Analysis Programming using NRs
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 23. 구조체와 사용자 정의 자료형2.
Chapter 11 구조체.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
2014년 가을학기 손시운 지도 교수: 문양세 교수님 행렬과 배열 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
어서와 C언어는 처음이지 제21장.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2 개 사용하는 것입니다. 첨자는 행과 열 모두 0 부터 시작합니다.  형식 : 자료형 배열이름 [ 행의개수 ][ 열의개수 ];  기억공간에 배치되는 방식은 일차원적임 VII. C++ 언어의 2 차원 배열 0열0열 1열1열 2열2열 3열3열 0행0행 A[0][0]A[0][1]A[0][2]A[0][3] 1행1행 A[1][0]A[1][1]A[1][2]A[1][3] 2행2행 A[2][0]A[2][1]A[2][2]A[2][3] A[0][0]A[0][1]A[0][2]A[0][3]A[1][0]A[1][1]A[1][2]A[1][3]A[2][0]A[2][1]A[2][2]A[2][3]

2. 2 차원 배열의 초기화  2 차원 배열도 1 차원 배열과 마찬가지로 초기화를 할 수 있습니다.  예 int M[4]={10,20,30,40}; int A[3][4]={ {10,20,30,40},{110,120,130,140},{210,220,230,240} } 0 번째 행 1 번째 행 2 번째 행 int A[3][4]={10,20,30,40,110,120,130,140,210,220,230,240} int M[4]={0, } // 모든 배열을 0 으로 초기화합니다. int A[3][4]={0, } // 모든 배열을 0 으로 초기화 합니다.  배열의 개수와 초기값 개수가 동일하지 않은 경우에는 초기값의 개수가 적 으면 나머지 배열은 0 으로 초기화, 초기값의 개수가 배열보다 많으면 에러가 발생합니다. VII. C++ 언어의 2 차원 배열

3. 2 차원 배열의 사용예  2 차원 배열을 선언하고 초기값을 주고 각 원소의 값을 출력하는 프로그램 을 작성하시오 ( 다중 for 문을 사용 )  두개의 행렬의 합을 구하는 프로그램을 작성하시오  세개의 행렬을 나란히 출력하는 프로그램을 작성하시오  2 차원 배열을 사용하여 총합과 평균을 구하는 프로그램을 작성하시오 ( 행과 열의 개수를 매크로 상수로 (#define 사용 ) 정의할 것 ) VII. C++ 언어의 2 차원 배열

4. 2 차원 배열의 주소값  주소값을 사용하기 위하여 포인터 변수를 사용했으며, 주소연산자, & 를 사용하였습니다.  1 차원 배열의 경우  2 차원 배열의 경우 a[3][4] 에 대해서  모든 배열의 주소값을 출력하여 봅시다.  첨자를 생략하여 봅시다. 열의 첨자만을 생략한 a[0], a[1], a[2] 와 행과 열을 모두 생략한 a 를 출력하여 봅시다.  a[I]== &a[I][0] 의 포인터변수가 되며, a 또한 포인터 변수이나 지금까지 배운 포인터 변수와는 다릅니다.  a, a+1, a+2, *a, *(a+1), *(a+2), **a, **(a+1), **(a+2) 값을 출력하여 비교 하여 보시오.  1 개의 * 를 사용하는 것을 1 차원 포인터 2 개의 *, 즉 ** 를 2 차원 포인터라 고 합니다. ( 배열의 차원과 동일합니다.) VII. C++ 언어의 2 차원 배열 int k; int *p; p=&k; int a[5]={10,20,30,40,50} int *pa; pa=a; // pa=&a[0] 와 동일

5. 2 차원 포인터  1 차원 변수 또는 배열에서는 * 연산자를 한번만 기술하면 주소에 저장된 값이 반환되지만 2 차원 배열에서는 * 연산자를 두 번 기술하여야 주소에 저 장된 값이 반환됩니다. 이와 같이 * 연산자를 두 번 기술하는 변수를 2 차원 포인터라고 합니다.  형식 : 자료형 ** 포인터변수이름 ;  2 차원 포인터의 프로그램 예. VII. C++ 언어의 2 차원 배열

5. 2 차원 배열과 2 차원 포인터  2 차원 배열 a[3][4] 에 대하여  배열명에 더하기 연산, a+1  배열명에서 * 연산자를 한 번 적용하여 더하기 연산  배열명에서 * 연산자를 두 번 적용하여 더하기 연산  포인터 연산자 &, *, +, -  & 와 * 연산자는 차원을 높이거나 낮춥니다.  + 와 – 는 같은 차원에서 주소값을 증가, 감소 시킵니다.  포인터를 사용하여 2 차원배열의 원소를 출력하여 봅시다.  a[r][c]== * ( *(a+r) + c ) VII. C++ 언어의 2 차원 배열

6. 함수의 전달인자로 2 차원 배열을 사용  2 차원 포인터 변수를 인수로 전달하기 위해서는 아래의 형식을 사용합 니다.  int (* 포인터변수이름 [ 열의개수 ])  2 차원 배열의 시작 주소값을 넘겨줍니다.  또 다른 형식 int p[][4] VII. C++ 언어의 2 차원 배열 int a[3][4]; int (*p)[4]; p=a;