1 / 18

배열과 포인터

배열과 포인터. 4 조 김현 , 안정환 , 이호윤 , 장동식. 목 차. 배열이란 . 포인터란 . 발전방향 . 출처 Q&A. 배열이란. 변수의 한 종류 . 동일한 데이터형을 모아놓은 형태 . 공통된 이름으로 같은 종류의 데이터를 저장하기 위한 기억 장소를 만들어 놓고 그곳에 값을 순서대로 저장 . 각각의 기억 장소를 배열의 요소라고 하며 일반 변수처럼 사용가능 . 요소를 구분하기 위해 첨자 (index) 를 사용. 1 차원 배열. 1 차원 배열이란 ?

tillie
Download Presentation

배열과 포인터

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 배열과 포인터 4조 김현,안정환,이호윤,장동식

  2. 목 차 • 배열이란. • 포인터란. • 발전방향. • 출처 • Q&A

  3. 배열이란. • 변수의 한 종류. • 동일한 데이터형을 모아놓은 형태. • 공통된 이름으로 같은 종류의 데이터를 저장하기위한 기억 장소를 만들어 놓고 그곳에 값을 순서대로 저장. • 각각의 기억 장소를 배열의 요소라고 하며 일반 변수처럼 사용가능. • 요소를 구분하기 위해 첨자(index)를 사용.

  4. 1차원 배열 • 1차원 배열이란? • - 1차원 배열은 배열의 첨자개수가 한개인것. • 1차원 배열의 선언방법. • ex) type 배열명[size]; • - type : 자료형 • - size : 배열의 크기 • - 배열명 : 사용자가 정의하는 변수이름 • 주의 사항 • - 배열은 타 변수와 달리 컴파일러가 메모리를 확보 할 • 수있도록 분명하게 선언

  5. array[0] array[1] array[2] array[3] array[4] 1차원 배열 • 1차원 배열 선언 예. • Int array[5] • 라고 선언을 하면. • 이런 구조로 선언이 된다. • 주의 사항 • - 배열을 선언하고 array[5]=10; 이라고 선언 하면 • 버그가 발생 될 수 있다. 배열 의 경계 를 지켜 주어야 • 하기 때문이다.

  6. 1차원 배열 • 1차원 배열의 초기화 • 1차원 배열의 올바른 예 • Int arra[6]={1,2,3,4,5,6]; 6개의 요소의 정수형배열초기화 • Int arrb[5]={1,2,3} 3개의 요소를 가진 정수형 배열 나머지는 널값 • Int arrc[]={10,20,30,40,50}; 첨자가 생략돼도 초기화 개수 만큼 정해짐 • 1차원 배열의 잘못된 예 • Int arra[5]={1,2,3,4,5,6}; 요소의 개수는 5개인데 6개로 초기화 • Int arrb[]; 초기화 값이 없을 경우 첨자필수 • Char arrc[5]={“string”}; 초기화 문자의 개수가 7인데 첨자가 5개라 에러

  7. 1차원 배열 • 1차원 배열 사용 예 실행 결과 화면

  8. 포인터란? • 포인터란? • - 어드레스를 저장할 수 있는 변수 • 포인터 선언(정의) • int *p; • 포인터로 대입 • p=&a; ② 포인터의 개념 • 포인터란 번지에 대한 기호화된 표현 • 포인터 변수란 번지값을 지정할 수 있는 변수를 의미함

  9. 포인터란? • 포인터 선언방식 • char *buf • int * buf1 • float *buf2 • 포인터 변수의 용도는 다른 곳에 위치한 자료를 가리키는 • 역할을 담당 • 포인터의 연산자 • & 연산자 • - 변수명 앞에 붙으며, 그 변수의 번지값을 나타냄 • * 연산자 • 포인터 상수나 포인터 변수 앞에 사용되며, 그 포인터 • (번지)에 위치한 변수 값을 가리킬 때 사용

  10. 포인터란? 예제 # include <iostream.h> void main() { int a, *iptr; a=100; iptr = &a; cout << "a=" << a << "\tiptr=" << iptr <<endl; } 실행 결과 화면

  11. 1차원 배열과 함수 • 배열에서 배열의 이름은 그 배열의 첫 번째 요소에 대한 포인터임 • 배열의 이름 dataArr는 그 배열의 첫 번째 요소에 대한 포인터를 의미 - dataArr == &dataArr[0]으로 표현

  12. 1차원 배열과 함수 int *intp; int dataArr[5]; intp = dataArr; • 포인터 변수 intp에 dataArr의 첫 번째 요소의 주소를 • 할당함 • intp는 배열 dataArr를 가리키게 되고, 포인터 변수 • intp로도 배열의 각 요소에 접근할 수가 있게 됨 • 포인터 변수인 intp에 *연산자를 붙이면 포인터가 • 가리키는 곳의 내용을 의미함

  13. 1차원 배열과 함수 • 포인터 변수 intp는 배열 dataArr의 시작 주소를 가지고 있으며, 연산을 이용하여 해당 주소에 접근이 가능함

  14. 2차원 배열과 함수 • C++ 언어에서는 다차원배열 지원. • 다차원배열 중 가장 간단한 형태가 2차원배열. • 2차원배열은 1차원 배열에 대한 배열. • 2차원 배열을 행렬이라고 부름. • 선언방법 • Type 배열명 [size1][size2]; size1 : 행의 크기 size2 : 열의크기

  15. 2차원 배열과 함수 • 2차원 함수의 사용 예 실행결과

  16. 발전방향 • 부족한점 • 아직 포인터에 대한 이해가 부족하여 • 포인터에 배열에 포인터에 대한 내용이 부족함.

  17. 출 처 • 참고 사이트 http://blog.naver.com/zelet7?Redirect=Log&logNo=140015263315 http://www.jbscience.hs.kr/liguard_bbs/view.php?code=li_study002&page=3&number=20&keyfield=&key= • 나머지는 교과서 위주로 함 예제로 배우는 C++프로그래밍

  18. Q&A 대단히 감사합니다…

More Related