size_t
C에서 유형의 변수를 인쇄하고 싶지만 size_t
다른 아키텍처에서 다른 변수 유형으로 별칭이 지정된 것처럼 보입니다 . 예를 들어 한 시스템 (64 비트)에서 다음 코드는 경고를 표시하지 않습니다.
size_t size = 1;
printf("the size is %ld", size);
하지만 내 다른 컴퓨터 (32 비트)에서 위 코드는 다음과 같은 경고 메시지를 생성합니다.
경고 : '% ld'형식에는 'long int *'유형이 필요하지만 인수 3에는 'size_t *'유형이 있습니다.
이것이 포인터 크기의 차이 때문이라고 생각하므로 64 비트 컴퓨터 size_t
에서는 long int
( "%ld"
)로 별칭이 지정되고 32 비트 컴퓨터 size_t
에서는 다른 유형으로 별칭이 지정됩니다.
특별히 형식 지정자가 size_t
있습니까?
&
어딘가에서 일부를 제거 했습니까 ?