언어/C,C++

C language Chapter 7. 배열

깜냥c 2022. 10. 9. 18:00

안녕하세요

 

저번에는 C언어의 반복문에 대해서 배워 보았습니다.

오늘 알아볼 내용은 배열입니다.

 


1. 배열이란?

 

일반 변수는 상자 하나를 만드는 것이라면 배열은 만들면 여러 개의 상자가 같이 묶여있는 것으로 생각하면 편합니다.

 

배열은 [ ]기호를 써서 int a[5]; 와 같이 선언합니다. [ ] 안에는 배열의 크기를 지정해주면 됩니다.

 

2. 배열 초기화 및 참조

 

배열 초기화는 { }기호를 써서 초기화를 합니다. 배열안의 있는 각각의 내용들은 원소라고 불립니다. 이 때 []기호 안의 숫자를 인덱스라고 말합니다.

 

int a[5];

 

int a[5] = {1, 2, 3, 4, 5};

 

배열의 첫 번째 원소는 1이 아니라 0으로 시작합니다. 이 내용은 처음에 많이 헷갈리고 틀리시는 부분이라 꼭 숙지하고 가셔야 합니다.

 

예를 들어 a배열의 세 번째 원소는 a[3] 이 아니라 a[2]로 접근하며 이와 같이 배열 원소 값에 접근하는 것을 참조한다고 합니다.

 

배열을 선언만 한 후 초기화를 통해 값을 지정해 주지 않으면 쓰레기 값이 나오게 됩니다.

 

#include <stdio.h>

int main() {
    int a[3];
    printf("%d\n", a[0]);
    printf("%d\n", a[1]);
    printf("%d\n", a[2]); 
    printf("%d\n", a[3]);
}

 

만약 int a[5] = {1};  { }로 초기화를 해주면 따로 값을 넣지 않은 부분은 0으로 채워집니다.

#include <stdio.h>

int main() {
    int a[3] = {1};
    printf("%d\n", a[0]);
    printf("%d\n", a[1]);
    printf("%d\n", a[2]); 
}

 

 

또한 배열을 선언할 때 따로 길이를 지정을 안해주어도 초기화로 원소를 지정해 줄 수 있습니다.

#include <stdio.h>

int main() {
    int a[] = { 1, 2};
    printf("%d\n", a[0]);
    printf("%d\n", a[1]);
}

 

 

3. 배열 입출력

 

배열 입력은 첫 번째 원소부터 &a[0], &a[1] 로 받고 출력도 동일하게 a[0], a[1]으로 해줍니다.

 

배열을 입출력 할 때는 주로 for 반복문을 사용하여 나타냅니다.

 

#include <stdio.h>

int main(){
    int a[10];
    for(int i=0; i<10; i++){
    	scanf("%d",&a[i]);
    }
    for(int i=0; i<10; i++){
    	printf("%d\n",a[i]);
    }
}

이상으로 글을 마치겠습니다.

 

잘못된 부분이 있으면 알려주시면 감사하겠습니다!