작성
·
111
1
sizeof(power_of_twos)에서 power_of_two를 왜 주소로 인식하지 않는 것인가요?
저는 power_of_twos를 배열명, 즉 주소 상수라고 생각해서 4byte가 나올 것으로 예상했습니다.
답변 1
2
안녕하세요, 질문&답변 도우미 Soobak 입니다.
sizeof
연산자의 특성과 배열, 포인터의 차이점 때문입니다.
C언어에서 배열의 이름은 배열의 첫 번째 원소를 가리키는 주소로 포인터와 호환이 되는 형태처럼 사용되지만, 배열의 이름을 sizeof
연산자와 함께 사용할 때는 예외적으로 배열 전체의 크기를 반환합니다.