sizeof 연산자 질문입니다
매1혹
2023.04.01
질문 제목 : 질문 내용 : #include stdio.h
int main(void)
{
int cpoint[3];
int i;
int c=sizeof(cpoint[3]);
cpoint[0] = 50;
cpoint[1] = 90;
cpoint[2] = 30;
printf(%d\n,c);for (i=0;ic-1;i++)
printf(%d,cpoint[i]);
return 0;
}
여기에서 c값이 4로 나오는데요 cpoint 배열수가 3인데 왜 4개가 나오는걸까요?
-
알버트
sizeof 연산자는 해당 정수의 용량을 출력해주는것이니 int형인 cpoint의 크기인 4바이트가 나온 것이 아닐까요
-
두나
cpoint 의 크기는 sizeof(cpoint),
cpoint 요소 하나의 크기는 sizeof(cpoint[i]) i는 정수 입니다.
배열의 요소 수는 sizeof(cpoint) / sizeof(cpoint[0]) 으로 구할 수 있습니다.