C_SIZEOF — 표현식의 바이트 크기
C_SIZEOF — 표현식의 바이트 크기
객체가 메모리에서 몇 바이트를 차지하는지 정확히 알아야 할 때가 있어요. C_SIZEOF는 표현식 X가 차지하는 저장 공간의 바이트 수를 계산해요.
본문
N = C_SIZEOF(X)
설명(Description)
C_SIZEOF(X)는 표현식 X가 차지하는 저장 공간의 바이트 수를 계산해요.
분류(Class)
모듈 ISO_C_BINDING의 조회 함수(Inquiry function of the module ISO_C_BINDING)
인자(Arguments)
X— 상호운용 가능한 데이터 엔티티여야 해요.
반환값(Return value)
반환값은 정수 타입이고 시스템 의존 kind인 C_SIZE_T(ISO_C_BINDING 모듈에서 옴)예요. 값은 인자가 차지하는 바이트 수예요. 인자가 POINTER 속성을 가지면 가리키는 저장 영역의 바이트 수가 반환돼요. 인자가 POINTER 또는 ALLOCATABLE 컴포넌트를 가진 파생 타입이면, 반환값은 그 컴포넌트들이 가리키는 데이터의 크기를 포함하지 않아요.
예제
use iso_c_binding
integer(c_int) :: i
real(c_float) :: r, s(5)
print *, (c_sizeof(s)/c_sizeof(r) == 5)
end
길이 5짜리 s와 스칼라 r의 크기 비가 5인지, 즉 각 원소가 낭비 없이 채워졌는지를 확인하는 예제예요. 기본 REAL 변수가 비정상적으로 패딩되는 플랫폼이 아니라면 T를 출력해요.
표준(Standard)
Fortran 2008
같이 보기
SIZEOF — 표현식의 바이트 크기, STORAGE_SIZE — 저장 크기(비트)