C언어 배열 1초팁

 

배열은 같은 데이터형의 변수를 메모리에 연속적으로 할당하고 같은 이름으로 사용하는 방법을 제공한다.

 

배열을 선언하는 기본적인 형식은 다음과 같다.

 

 

데이터형 배열명 [크기];   - 형식

 

int        num      [5];

float      ave       [10];

short      arr       [100];

char       str       [80];

double     x        [MAX];

 

 

배열을 선언하려면 배열의 데이터형과 배열명, 배열의 크기가 필요하다.

이게 배열의 기본적인 형식이다.

 

 

배열의 크기는 0보다 큰 정수형으로 지정해야한다.

다음과 같은 상황은 모두 컴파일 에러가 된다.

 

int arr1[ ]  <-----------배열의 크기가 없으므로 컴파일 에러

int arr2[0 <----------- 배열의 크기가 0이므로 컴파일 에러

 

int size = 5;

int arr3[size];  <---------- 배열의 크기가 변수이므로 컴파일 에러

int arr4[size + 10]  <----------- 배열의 크기가 변수를 포함한 수식이므로 컴파일 에러

 

 

 

배열의 사용 예

 

 

원래대로라면 이렇게 arr[0~4] 까지 입력해야합니다.

그런데 배열을 이용하면 아래 이미지와 같이 간단히 할수 있습니다.

 

int arr[5] = {10,20,30,40,50}; 이 한줄이면 위에 여러줄쓸거를 생략하고 간단하게 나타낼수 있다.

여기까지는 이해하기 쉽다. 하지만 응용하면서 배열을 이용하면 점점 머리가 복잡해진다.

 

 

다차원 배열

 

다차원 배열은 원소 접근시 두 개 이상의 인덱스를 사용하는 배열이라고 한다.

 

예를 들어 학생 5명의 2과목 점수를 저장해야 한다고 생각해보자. 한 학생마다 2과목의점수를 저장해야하고,

학생이 5명이므로 모두 10개의 점수를 저장해야한다. 두 과목의 점수를 저장하려면 크기가 2인 int 배열을 선언해야한다.

이 int 배열이 다시 학생수 10명만큼 필요하므로 2x5의 배열이 필요하게 된다. 이럴때 다차원 배열을 이용하면 편리하다.

 

 

 

다차원 배열의 기본형식을 알아보자

 

데이터형 배열명 [크기1] [크기2];

 

 

이차원 배열을 선언하려면 배열의 크기를 2개 사용해야 한다. 

예를 들어 int data[2][3]; 은 int형을 2X3개, 총 6개의 원소를 갖는다.

 

일차원 배열은 원소에 접근할 때 인덱스를 하나만 사용하고, 이차원 배열은 두 개 사용한다.

인덱스를 여러 개 사용할 때는 가장 오른쪽 부터 인덱스가 증가되고, 가장오른쪽 인덱스가 다 증가되면

다시 그 왼쪽에 있는 인덱스가 증가된다.

 

short data [ 2 ][ 3 ] ;

 

data [ 0 ] [ 0 ] = 1;

data [ 0 ] [ 1 ] = 2;

data [ 0 ] [ 2 ] = 3;

 

data [ 1 ] [ 0 ] = 4;

data [ 1 ] [ 1 ] = 5;

data [ 1 ] [ 2 ] = 1;

 

이렇게 3이니깐 오른쪽부터 2까지 채워지고 왼쪽이 채워진다.

 

위 개념을

 

이차원배열의 제2크기 개수만큼씩 {}로 묶어서

short data[2][3] = { {1,2,3}, {4,5,6} };

 

제2크기 개수만큼 {}로 묶지않고. 일차원배열처럼 초기값만 나열할수있다.

short data[2][3] = {1,2,3,4,5,6};

 

여기서 주의할점은

int a[ ][2] = {1, 2, 3, 4, 5, 6};     <-------int a[3][2];로 할당된다

int b[3][ ] = {1, 2, 3, 4, 5, 6};     <-------컴파일 에러

 

두번째꺼는 몇묶음인지 알수없기 때문에 컴파일 에러가 뜬다.

 

 

 

여기까지 배열의 기본이라고 할수있는 배열을 기본형식 들을 알아보았다.

이것을 활용하여 다양한 코딩을 할수있게 연습하면좋을것같다.

 

 

 

'꿀 정보' 카테고리의 다른 글

컴퓨터활용능력 1급 필기 합격 노하우,꿀팁  (0) 2020.04.20
C언어 문자열배열  (0) 2020.04.19
C언어 배열 1초팁  (0) 2020.04.19
네트워크 접속장치 7가지 1초팁  (0) 2020.04.19
엑셀 OFFSET 1초팁  (0) 2020.04.19
한경테셋 시장가격의 결정방법  (0) 2020.04.18

댓글(0)

Designed by JB FACTORY