반응형
C / C ++의 작은 따옴표, 큰 따옴표 및 sizeof ( 'a')
나는 C 또는 C ++에서 Single quotes vs. double quotes 질문을보고있었습니다 . 주어진 설명을 완전히 이해할 수 없어서 프로그램을 작성했습니다.
#include <stdio.h>
int main()
{
char ch = 'a';
printf("sizeof(ch) :%d\n", sizeof(ch));
printf("sizeof(\'a\') :%d\n", sizeof('a'));
printf("sizeof(\"a\") :%d\n", sizeof("a"));
printf("sizeof(char) :%d\n", sizeof(char));
printf("sizeof(int) :%d\n", sizeof(int));
return 0;
}
gcc와 g ++를 모두 사용하여 컴파일했으며 다음은 내 출력입니다.
gcc :
sizeof(ch) : 1
sizeof('a') : 4
sizeof("a") : 2
sizeof(char) : 1
sizeof(int) : 4
g ++ :
sizeof(ch) : 1
sizeof('a') : 1
sizeof("a") : 2
sizeof(char) : 1
sizeof(int) : 4
g ++ 출력은 나에게 의미가 있으며 그것에 대해 의심의 여지가 없습니다. gcc에서 무엇 sizeof('a')
과 달라야 할 필요가 sizeof(char)
있습니까? 그 뒤에 실제 이유가 있습니까 아니면 단지 역사적입니까?
또한 경우 C에서 char
와 'a'
다른 크기를 가지고, 그것은 우리가 쓸 때 의미하지 char ch = 'a';
, 우리가 묵시적 타입 변환을하는거야?
C에서는 문자 상수 'a'
가 type int
이고 C ++에서는 char
.
마지막 질문에 대해서는 네,
char ch = 'a';
를 암시 적으로 변환 int
합니다 char
.
문자가 없기 때문에 문자에 연결된 정수만
a는 62 인 것 같아요
printf ( "% c", 62); 당신은 캐릭터를 볼 것입니다
참고 URL : https://stackoverflow.com/questions/10606807/single-double-quotes-and-sizeofa-in-cc
반응형
'Programing' 카테고리의 다른 글
폴더, 하위 폴더 및 모든. (0) | 2020.12.14 |
---|---|
내 ASP.NET 웹 사이트를 wwwroot 폴더에 넣어야합니까? (0) | 2020.12.13 |
뷰포트 메타 태그로 최소 너비 달성 (0) | 2020.12.13 |
시간대 정보로 MySQL에 datetime을 저장하는 방법 (0) | 2020.12.13 |
URL에 악센트 부호가있는 문자를 사용해야합니까? (0) | 2020.12.13 |