본문 바로가기
프로그래밍일지 (고등학생 - 인문계)/C

배열...? 그게 뭐죠??

by 단월(Kilo) 2018. 3. 19.
드디어 배열이라는 곳까지 왔습니다.

배열이라는 것은 여러분에게 조금 더 간편한 코딩을 도와주게 될 코드인데요

이유는 고등수학에 수열이라는 것을 떠올리시면 편하실 것이라고 생각을 합니다.

수열이라는 것은 수의 나열이라는 것을 기억하시거나 알아두시기를 바랍니다.

아무튼 배열은 변수를 조금 더 간편하게 사용 가능하게 해 줍니다.

일단 예제를 보시고 판단을 하시기를 바랍니다.

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main() {
  int ga, na, da, ra, ma, ba, sa, a;
  printf("8명의 나이를 조사하여 작성하세요\n");
  scanf_s("%d, %d, %d, %d, %d, %d, %d, %d"&ga, &na, &da, &ra, &ma, &ba, &sa, &a);
  printf("8명의 나이는 다음과 같습니다.\n");
  printf("%d, %d, %d, %d, %d, %d, %d, %d\n", ga, na, da, ra, ma, ba, sa, a);
  return 0;
}
cs

이렇게 길고 귀찮은 코드를 단번에 줄일 수가 있습니다.

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main() {
  int a[8];
  printf("8명의 나이를 조사하여 작성하세요\n");
  scanf_s("%d, %d, %d, %d, %d, %d, %d, %d"&a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7], &a[8]);
  printf("8명의 나이는 다음과 같습니다.\n");
  printf("%d, %d, %d, %d, %d, %d, %d, %d\n", a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);
  return 0;
}
cs

뭐 달라지는 것은 보이지 않을 지도 모릅니다.

네 저도 그렇게 생각을 합니다만 엄청나게 많은 양의 코드를 작성을 하다보면 일일이 변수를 선언하기도 귀찮기도 합니다.

그럴때 변수를 한번에 선언을 하는 것도 나쁘지는 않습니다.

그러니깐 int a[8];이라는 선언은 a라는 변수 8칸짜리를 선언하는 것과 다를 것이 없습다.

그냥 귀찮기도 하고 그러니 으음.... 네 아무튼 그렇게 합시다.

일일이 선언하기도 귀찮고 네..... 그냥 사용합니다.

자 이렇게 되었을때 다시 코드를 조금더 줄여보는 것으로 합시다.

1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
int main() {
  int a[8];
  printf("8명의 나이를 조사하여 작성하세요\n");
  for(i = 0 ; i < 8 ; i++ ) {
    scanf("%d"&a[i]);
  }
  for (t = 0 ; t < 8 ; t++ ) {
    printf("%d\n"&a[t]);
  return 0;
  }
cs

이렇게 줄일 수가 있습니다.

그런데 여러 변수를 한번에 선언하는 배열 선언 (이하 배열 선언)에게 각각의 값을 따로 저장이 가능합니다.

int a[4] ={ 43, 48, 99, 234 };

이런 식으로 직접적으로 미리 설정하는 것도 가능합니다.

만약 이러한 경우 int a[4] = {34, 55};

출력값이 이러하게 나옵니다.

a[1]은 34

a[2]은 55

a[3]은 0

a[4]은 0

이런 식으로 나옵니다.

배열이라는 것은 앞으로 코딩을 하는 과정에서 편하게 사용이 되지 않을까하고 조심스럽게 생각을 하는 바입니다.