어레이의 크기를 지정 후 값을 삽입, 또는 바로 삽입
어레이의 크기는 변수에 담아서 사용할 수 없음
배열을 전역에서 선언하면 값은 자동으로 0으로 초기화 됨
#include <stdio.h>
int main(void)
{
int array1[3]; // 어레이의 크기를 먼저 지정해 줌
array1[0] = 30;
array1[1] = 40;
array1[2] = 50; // 이렇게 넣거나 또는 아래처럼 넣을 수도 있음
int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int arr2[] = {1, 2}; // 이렇게 선언도 가능, 이 경우에는 요소개수를 알아서 세서 arr2[2]로 들어감
/* 만약 배열의 사이즈를 고정하고 싶어
size = 10;
int arr[size]; 이런식으로 사용하고 싶어도 사용할 수 없음
무조건 숫자형태로 넣어줘야 함 */
/* int arr[10];
이런식으로 배열의 값을 초기화 안하고 배열만 선언한 뒤 출력하면
배열의 요소들은 -81531513 이런식으로 이상한 더미값으로 채워짐 */
/* 하지만 int arr[10] = {1, 2};
이런식으로 값을 한개라도 채워넣는 순간 채워넣은 값 이외의 값은 전부 0으로 자동 초기화 됨*/
for (int i = 0; i < 3; i++)
{
printf("%d\n", array1[i]);
}
return 0;
}
전역에서 선언한 arr의 값은 전부 0이지만
함수 내에서 선언한 arr2의 값은 전부 더미값이 나오는 것을 알 수 있다
#include <stdio.h> // standard input/output 이라는 뜻
int arr[10];
int main(void)
{
int arr2[10];
for (int i = 0; i < 10; i++)
printf("%d", arr[i]);
printf("\n");
for (int i = 0; i < 10; i++)
printf("%d ", arr2[i]);
}