IT

C 또는 C ++에서 작은 따옴표와 큰 따옴표

lottoking 2020. 5. 17. 10:59
반응형

C 또는 C ++에서 작은 따옴표와 큰 따옴표


C 또는 C ++ 프로그래밍에서 작은 따옴표와 큰 따옴표를 언제 사용해야합니까?


C 및 C ++에서 작은 따옴표는 단일 문자를 식별하고 큰 따옴표는 문자열 리터럴을 작성합니다. 'a'은 단일 문자 리터럴 인 반면 "a", 'a'및 종료 자 (2 자 배열)를 포함하는 문자열 리터럴 입니다.

문자 그대로의 형태 인 ++ C에서 char,하지만 C에서, 문자 그대로의 형태가 참고 int이라고 sizeof 'a'동안의 int는 32 비트이다 (그리고 CHAR_BIT 8이다) 아키텍처에서 4 sizeof(char)사방 1이다.


일부 컴파일러는 다중 문자 상수를 허용하는 확장도 구현합니다. C99 표준은 다음과 같이 말합니다.

6.4.4.4p10 : "두 개 이상의 문자 (예 : 'ab')를 포함하거나 단일 바이트 실행 문자에 매핑되지 않는 문자 또는 이스케이프 시퀀스를 포함하는 정수 문자 상수의 값은 구현 정의됩니다. "

예를 들면 다음과 같습니다.

const uint32_t png_ihdr = 'IHDR';

결과 상수 (이를 구현하는 GCC에서)는 각 문자를 가져 와서 이동하여 얻는 값을 가지므로 'I'는 32 비트 값의 최상위 비트로 끝납니다. 플랫폼 독립적 인 코드를 작성하는 경우에는 이것에 의존해서는 안됩니다.


작은 따옴표는 문자 ( char)이고 큰 따옴표는 null로 끝나는 문자열 ( char *)입니다.

char c = 'x';
char *s = "Hello World";

  • 'x' 기계 문자 세트에서 문자 x의 숫자 값을 나타내는 정수입니다.
  • "x"문자의 배열로 이루어진 두 개의 긴 문자 ‘x’뒤에‘\0’

작은 따옴표는 단일 문자를위한 것입니다. 큰 따옴표는 문자열 (문자 배열)입니다. 원하는 경우 작은 따옴표를 사용하여 한 번에 한 문자 씩 문자열을 작성할 수 있습니다.

char myChar     = 'A';
char myString[] = "Hello Mum";
char myOtherString[] = { 'H','e','l','l','o','\0' };

나는 다음과 같은 것들을 파고 들었다 : int cc = 'cc'; 기본적으로 정수에 대한 바이트 단위 복사입니다. 따라서 그것을 보는 방법은 기본적으로 2 c 인 'cc'가 정수 cc의 2 바이트 아래로 복사되는 것입니다. 사소한 것을 찾고 있다면

printf("%d %d", 'c', 'cc'); would give:

99 25443

25443 = 99 + 256 * 99 때문입니다

따라서 'cc'는 문자열이 아닌 다중 문자 상수 입니다.

건배


  1. single quote입니다 character;
  2. double quote입니다 string.


큰 따옴표는 문자열 리터럴을위한 것입니다. 예 :

char str[] = "Hello world";

작은 따옴표는 단일 문자 리터럴을위한 것입니다. 예 :

char c = 'x';

편집 David가 다른 답변에서 언급했듯이 문자 리터럴의 유형은입니다 int.


C에서 'a'와 같은 작은 따옴표는 문자 상수를 나타내며 "a"는 문자 배열이며 항상 0 문자로 끝납니다.


작은 따옴표는 문자에 사용되고 큰 따옴표는 문자열에 사용됩니다.

예를 들어 ..

 printf("%c \n",'a');
 printf("%s","Hello World");

산출

안녕하세요 세계

반대로 그 반대로 사용하고 문자열에 작은 따옴표를 사용하고 문자에 큰 따옴표를 사용한 경우. 결과는 다음과 같습니다.

  printf("%c \n","a");
  printf("%s",'Hello World');

출력 :

가비지 값이 있거나 예상치 못한 결과가 발생하거나 다음과 같이 출력 될 수 있습니다.

두 번째 진술 동안. 당신은 아무것도 볼 수 없습니다. 한가지 더. 이 후에 더 많은 진술이 있다면. 그들은 또한 당신에게 결과를주지 않을 것입니다.

참고 : PHP 언어를 사용하면 작은 따옴표와 큰 따옴표를 쉽게 사용할 수 있습니다.


작은 따옴표는 문자를 나타내며 이중은 문자열을 나타냅니다.

Java에서도 마찬가지입니다.


작은 따옴표를 작은 따옴표로 사용하십시오 :

char ch = 'a';

여기 'a'에 char 상수가 있으며 char a의 ASCII과 같습니다 .

다음과 같이 문자열에 큰 따옴표를 사용하십시오.

char str[] = "foo";

여기 "foo"에 문자열 리터럴이 있습니다.

사용하는 "a"것은 좋지만 '사용하는 것은 좋지 않습니다.'foo'

참고 URL : https://stackoverflow.com/questions/3683602/single-quotes-vs-double-quotes-in-c-or-c

반응형