- sizeof(변수)->변수의 길이
#include<stdio.h> int main() { int arr[10] = { 0 }; printf("%d", sizeof(arr)); //출력: 40 return 0; }
- 📌 배열의 크기는 10인데 왜 40이 나올까?
- int의 크기가 4바이트이기 때문에 10X4=40이 출력된다
- 어떻게 하면 arr의 길이를 제대로 출력할 수 있을까?
- arr의 크기를 int형의 크기로 나눠주기
sizeof(arr)/sizeof(int) // arr 크기/4
#include<stdio.h>
int main()
{
int arr[10] = { 0 };
printf("%d", sizeof(arr)/sizeof(int));
return 0;
}
sizeof()를 문자열을 scanf_s로 받을 때 많이 썼지만 원리는 잘 알지 못했는 데
이번 기회에 sizeof()가 변수의 크기를 어떻게 받는 지 알게 되었다