2011-02-23 5 views
9

u_int32_tuint32_t의 차이점은 무엇입니까?C에서 사용되는 데이터 유형

+1

후자는 C99의 헤더 'stdint.h'에 정의되어 있습니다. 전자는 그렇지 않습니다. http://lists.freedesktop.org/archives/release-wranglers/2004-August/000925.html에서 u_ 양식이 BSD Unix에서 사용 된 것 같습니다. 어쨌든 코드에서'uint32_t'를 사용해야합니다. –

+0

@Conrad 왜 댓글이 아닌 답입니까? –

+0

@Core Xii : * Shrug *. 내가 응답하기 전에 u_int32_t에 대해 들어 본 적이 없었습니다. 저는 이것에 대한 권위있는 정보원이 아닙니다. –

답변

12

uint32_t은 일부 POSIX 구현에서 내부적으로 사용되는 표준 C99 유형 u_int32_t입니다.

1

uint32_t는 표준 C99이며, u_int32_t는 특정 유닉스 플랫폼에서 사용됩니다.

0

가변 유형 uint32_t는 소위 C99 표준에 따라 정의 된 부호없는 32 비트 정수 데이터 유형입니다. 모든 컴파일러가 표준을 따르는 것은 아닙니다. 그리고 u_int32_t는 일부 내부적 인 구현에 사용됩니다.

4

다른 언급했듯이 uint32_t는 표준 C99 유형입니다.

어쨌든 다른 장치/아키텍처간에 공유 할 수있는 이식 가능한 C 코드 또는 C 헤더 파일을 작성한다면 stdint.h를 사용할 수 있습니다.