C와 C ++에서 문자의 크기는 얼마입니까? 내가 아는 한 char의 크기는 C와 C ++에서 1 바이트입니다.
#include <stdio.h>
int main()
{
printf("Size of char : %d\n", sizeof(char));
return 0;
}
#include <iostream>
int main()
{
std::cout << "Size of char : " << sizeof(char) << "\n";
return 0;
}
놀랍지 않게, 둘 다 출력을 제공합니다. Size of char : 1
이제 우리는 같은 문자가 표시되는 것을 알고 'a'
, 'b'
, 'c'
, '|'
난 그냥 다음에 위의 코드를 수정 ... 그래서 :
C에서 :
#include <stdio.h>
int main()
{
char a = 'a';
printf("Size of char : %d\n", sizeof(a));
printf("Size of char : %d\n", sizeof('a'));
return 0;
}
Size of char : 1
Size of char : 4
C ++에서 :
#include <iostream>
int main()
{
char a = 'a';
std::cout << "Size of char : " << sizeof(a) << "\n";
std::cout << "Size of char : " << sizeof('a') << "\n";
return 0;
}
Size of char : 1
Size of char : 1
왜 sizeof('a')
C와 C ++에서 다른 값을 반환합니까?
"%|"
형식은 필요int
인수 (또는를 촉진 무언가를int
).sizeof
유형의 결과를 산출합니다size_t
.int
캐스트 를 사용하여 변환 하거나 구현에서 지원하는 경우을 사용하십시오"%zu"
.