'A' 바이트 개수 질문
조회수 531회
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int size;
int num1 = 10;
double num2 = 0X18;
long double num3 = 17.1e-3;
double num4 = 3.14;
char num5 = 'A';
double num6 = 3.14F;
printf("literal의 저장 공간 크기\n(1) 10: %d Byte \n(2) 0X18: %d Byte \n(3) 17.1e-3: %d Byte \n(4) 3.14: %d Byte \n(5) 'A': %d Byte \n(6) 3.14F: %d Byte \n", sizeof(10), sizeof(0X18), sizeof(17.1e-3), sizeof(3.14), sizeof('A'), sizeof(3.14F));
return 0;
}
visual c++에서 sizeof(char)
와 sizeof('A')
결과가 달라서 문자형 상수 ‘A'는 int형이라 크기가 4바이트로 출력 되어야 하는거 아닌가요? 위 비주얼 스튜디오 2019에서 코드대로 출력하면 'A'가 1바이트로 출력 되는데 어디가 문제인가요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
c 와 c++ 는 다른언어입니다. 두 언어간의 차이점중 하나입니다.
c++ 에서 'A' 는 c 와 달리 char 입니다.
- 답변감사합니다. 확인하고나니 소스의 확장자를 cpp에서 c로 바꾸고나니 정상적으로 출력되네요. cpp로 아면 c++언어고, c로 하면c언어라 이런 현상이 발생하는 건가요? 알 수 없는 사용자 2021.3.12 15:24
- 현상이라기보다 차이점이죠 그렇게 정해진겁니다. c와 c++은 서로 별개의 언어이며 환경입니다. 문법이 똑같다하여 모든 속성이 똑같지는 않습니다. 정영훈 2021.3.13 00:34
댓글 입력