나는 휴대용 방식으로 문자의 크기를 안정적으로 결정하는 방법을 궁금해하고있었습니다. AFAIK sizeof (char)는 바이트가 16 비트 이상인 시스템에서도 항상 1을 산출하므로 사용할 수 없습니다.신뢰할 수있는 문자 크기 결정
예를 들어, 비트를 처리 할 때 정확히 얼마나 큰지 알고 싶다면이 코드가 실제 크기의 문자를 제공하는지, 컴파일러가 생각하는 것과는 관계가 없는지 궁금합니다. IMO 포인터를 컴파일러에서 올바른 크기로 늘려야하므로 올바른 값을 가져야합니다. 이것에 맞습니까, 아니면 포인터 연산에 숨겨진 문제가있을 수 있습니다. 이는 일부 시스템에서 잘못된 결과를 산출 할 수 있습니까?
int sizeOfChar()
{
char *p = 0;
p++;
int size_of_char = (int)p;
return size_of_char;
}
'CHAR_BIT' 또는'CHAR_MAX'는 간단한 휴대용 메소드입니다. –
'sizeof' 연산자도 있습니다. 단지 sizeof (char)가 – abasu
크기가 항상 유용하지는 않습니다. 왜냐하면 char가 8 비트인지 또는 다른 것이 필요한지 알 필요가 있기 때문입니다. Sizeof는이 정보를 제공하지 않습니다. – Devolus