기타 강좌

오늘은 배열과 배열의 1차원에 대해 설명하겠습니다.

 

배열은 같은 이름을 사용하지만 이름 뒤의 괄호에 나타내는 첨자나 색인에 의해 서로 구분되는

집단적인 데이터 저장 영역의 명칭입니다.

이런 개념은 배열에 대한 내용을 계속해서 접하게 되면서 분명히 이해가 될것인데요.

C의 다른 변수와 마찬가지로 배열을 사용하기 위해서는 먼저 선언해야 합니다.

배열의 선언은 배열의 데이터형과 크기를 지정하는 것으로 가능합니다.

배열의 크기는 배열 내에 포함되는 요소의 수를 뜻하는데요.

예를 들어

int data[ 100];

이 문장은 100개의 int형 요소를 가지는 data라는 이름의 배열을 선언한 것입니다.

 

각각의 요소는 data[0]에서부터 data[999]까지 첨자에 의해서 지정됩니다.

c언어에서는 배열에 첫 번째 요소는 data[1]이 아니라 data[0]입니다.

BASIC이나 다른 언어에서는 배열의 첫 번째 요소가 1이지만 C언어에서는 그렇지 않습니다.

 

이런 배열의 각 요소는 일반적인 정수형 변수와 동일하고 똑같은 방법으로 사용 될 수 있습니다.

배열의 첨자로는 다음과 같이 C의 다른 변수를 사용 할 수 있습니다.

 

int data[100];

int count;

count = 20;

data[count] = 12; // data[100] = 12와 동일한 문장입니다.

 

지금까지 설명한 내용이 배열에 대한 기본적인 사항들인데요.

이런 개념을 이해한다면 1차원 2차원 3차원 배열을 쉽게 이해 할수가 있습니다.

 

 Don't - 하지 맙시다.

필요한 것보다 많은 첨자를 가지는 배열을 선언하지 않도록 합시다.

메모리를 낭비하게 됩니다.

 

C에서는 배열의 첨자가 1이 아니라 0에서부터 시작된다는 것을

잊지 않도록 합시다.

 

이번엔 배열에 대해 설명하였으므로 1,2,3차원 배열에 대해 설명하겠습니다.

 

위에 배열을 이해하셨다면 1차원 2차원 3차원 배열은 쉽습니다..

 

data[3]; //이것은 1차원 배열입니다. 한마디로 첨자가 1개일경우를 뜻합니다.

 

data[3][3]; //이것은 2차원 배열입니다. 첨자가 2개일 경우를 뜻합니다.

 

data[2][2][2]; //이것은 3차원 배열입니다. 첨자가 3개일 경우를 뜻합니다.

 

1차원 배열에 data[3] 입니다.

 data[0]

 data[1]

 data[2]

 

2차원 배열에 data[3][3] 입니다.

 data[0][0]  data[0][1]  data[0][2]
 data[1][0]  data[1][1]  data[1][2]
 data[2][0]  data[2][1]  data[2][2]

 

 

 

 

표를 생각하시면 간단합니다.

 

배열의 수를 생각하시려면 이렇게 생각하시면 됩니다. 첨자를 곱해주는 것입니다.

data[1] 은 단지 1개만 있구요.

data[5] 도 5개만 있습니다.

 

data[2][2] 는 [2]*[2] = 4개가 있습니다.

data[3][5] 는 [3]*[5] = 15개가 있습니다.

 

data[2][3][4] 는 [2]*[3]*[4] = 24개가 있습니다.

data[4][2][3] 은 [4]*[2]*[3] = 24개가 있습니다.

 

이런식으로 생각하시면 됩니다.

 

배열은 잘 이용하시면 프로그램을 만드는데 정말 도움이 됩니다.

 

배열은 누구나 잘 사용하는 거므로 꼭 배워서 가시길 바랍니다.^^

 

Comment '1'
  • ?
    Last H 2009.03.14 05:12

    data[count] = 12; // data[100] = 12와 동일한 문장입니다.
    가 아니라 data[20] = 12와 같은 연산을 하는거겠죠? ^^; 오타인듯.


List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 912
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 798
기타 해커스쿨 F.T.Z서버에 대해 궁금하신 분들은 글올려주세요... - 하늘 - 2009.08.03 3428
C언어 한글자씩 출력하기 file 정체불명 2012.01.21 3730
플래시 플래시 MX 활용법! 1 은색바람 2011.09.09 2796
어도비 프리미어 프리미어 cc 2014 새로운 기능 - Premiere Pro CC – April 2014 – New Features 아방스 2014.07.07 1443
게임기획 프롤로그의 여러가지 작성 방법 2 아방스 2012.04.17 4137
기타 프로그래밍 스킴 Scheme 4 "3두개 7두개로 24를 만들려면?" 프로그래밍으로 풀기 2 정체불명 2010.10.03 2479
기타 프로그래밍 스킴 Scheme 3 "3두개 7두개로 24를 만들려면?" 프로그래밍으로 풀기 1 정체불명 2010.10.03 2607
기타 프로그래밍 스킴 Scheme 2 프로그래밍한 걸 exe파일 만들어 배포하기! 2 file 정체불명 2010.10.02 3157
기타 프로그래밍 스킴 Scheme 1 다운로드부터 문법 대부분을 314초만에 알려줄게요 9 file 정체불명 2010.10.02 4828
기타 프로그래밍 스킴 7줄로 윈도우창에 그림을 출력하고 움직여보자. file 정체불명 2010.10.04 2477
기타 프로그래밍 scheme 빨간 공을 움직이다가 특정 좌표에 가면 파랗게 만들어 보자. file 정체불명 2010.10.06 2648
C언어 푸쉬푸쉬 func.h파일 file 정체불명 2012.01.25 2868
C언어 푸쉬푸쉬 data structure.h 의 내용 file 정체불명 2012.01.25 2599
기타 폴더 100개 일괄적으로 만들기 정체불명 2014.11.02 744
기타 포토스케이프 - 사진 색감 보정하기 아방스 2010.11.04 2782
기타 포토샵 크기 조절 1 제니스 2008.06.22 3914
기타 포샵 빛나는 공 4 제니스 2008.06.22 3075
에프터 이펙트 펜툴을 이용해서 키프레임 추가,삭제 및 수정방법 아방스 2011.12.08 5207
C언어 파일읽어서 배열에 넣고 다시배열에서 읽어서 화면에 출력 정체불명 2012.01.21 2705
기타 파이썬 총 강좌파일 올립니다... 3 file - 하늘 - 2009.09.10 7010
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19