int main()
{
int arr1[5] = {1, 33 , 47, 102, 155}; // 선언과 동시에 초기화
int arr2[5] = {5}; // 0 번째 값을 5 로 초기화하고 나머지는 모두 0 으로 초기화
int arr3[5] = {5, 10};
// 0 번째 값을 5, 1 번째 값을 10으로 초기화하고 나머지는 모두 0 으로 초기화
int arr4[5] = {}; // 모두 0 으로 초기화
int arr5[5]; // 초기화 하지 않음
int arr6[] = {11, 22 , 33, 44}; // 배열의 크기가 4로 정해지면서 자동으로 초기화
return 0;
}
sizeof
함수는 메모리 상에서 차지하고 있는 용량에 대해서 알려줍니다.#include <stdio.h>
int main()
{
int arr[] = {519, 31, 7988, 165326, 100, 150};
printf("%d\n", sizeof(arr)); // 배열이 메모리 상에서 차지하고 있는 용량
// int 는 4 바이트이고 6개가 있으므로 출력 결과는 : 24
printf("%d\n", sizeof(arr) / sizeof(arr[0])); // 배열의 크기를 구하는 방법 중 하나
// 배열의 전체는 24 바이트지만 요소 하나는 4바이트
// 전체 배열을 요소 하나로 나누면 길이를 구할 수 있다
// 출력 결과는 24 / 4 이므로 6
printf("%d\n", sizeof(arr)/sizeof(int)); //따라서 이렇게 해도 똑같이나옴
return 0;
}
int
자료형이 여러개 붙어 있는 형태입니다. int
는 4바이트이므로 sizeof(int)
는 4가 됩니다. sizeof(arr)
를 하면 자료형의 크기 때문에 20이 되므로, 해당 자료형의 크기만큼 나눠주어야 한다. 20 나누기 4는 5 이므로, length는 5
가 됩니다. 한 눈에 끝내는 c언어 기초 를 공부하고 작성한 글입니다.