안녕하세요
저번에는 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]);
}
}
이상으로 글을 마치겠습니다.
잘못된 부분이 있으면 알려주시면 감사하겠습니다!
'언어 > C,C++' 카테고리의 다른 글
[C++] 컴파일 상수 constexpr (1) | 2024.08.10 |
---|---|
[Win32] Visual Studio Win32 LNK2019 오류 해결 (0) | 2023.12.28 |
C Language Chapter 6. 반복문 (0) | 2020.08.03 |
C language Chapter 5. C언어의 조건문(+switch문) (0) | 2020.04.17 |
C language Chapter 4. C언어의 입출력 (0) | 2020.03.17 |