source

C 또는 C++의 작은따옴표 대 큰따옴표

itover 2023. 1. 5. 20:27
반응형

C 또는 C++의 작은따옴표 대 큰따옴표

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

C 및 C++에서는 단일 따옴표로 구분되며 이중 따옴표로 문자열 리터럴이 생성됩니다. 'a'단일 이며, 는 문자 그대로입니다."a"는, 「」를 입니다.'a'및 늘 터미네이터(2글자 배열)를 지정합니다.

은 C++입니다.char단, C에서는 문자 리터럴의 유형은 다음과 같습니다.int, 「」, 「」sizeof 'a'® 32비트(「CHAR_B」)인 경우는, 입니다.는 8 IT는 8), ★★★★★sizeof(char)1번으로 하다

  • 'x' x 의 입니다.
  • "x"는 두 는, 문, 다, 음, 음 등으로 구성되어 .‘x’에 어 followed가 붙는다.‘\0’

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

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

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

const uint32_t png_ihdr = 'IHDR';

결과 상수(이를 구현하는 GCC의 경우)는 각 문자를 위쪽으로 이동함으로써 얻을 수 있는 값을 가지므로 'I'는 32비트 값의 최상위 비트로 끝납니다.플랫폼에 의존하지 않는 코드를 작성하는 경우는, 이것에 의존하지 말아 주세요.

char는 늘 문자열()입니다.char *를 참조해 주세요.

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

예를 들어 int cc = 'cc'와 같은 것을 조사했습니다.기본적으로 바이트 단위에서 정수로 복사하는 것입니다.따라서 기본적으로 2c인 'cc'는 정수 cc의 하위2바이트로 복사됩니다.하찮은 걸 찾는다면

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

99 25443

25443 = 99 + 256*99이기 때문입니다.

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

건배.

문자에는 단일 따옴표가 사용되고 문자열에는 이중 따옴표가 사용됩니다.

예를 들면...

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

산출량

a  
Hello World

반대되는 경우 스트링에 단일 따옴표를 사용하고 문자에 이중 따옴표를 사용하면 다음과 같은 결과가 됩니다.

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

출력:

첫 번째 줄에 대해서.가비지 값 또는 예기치 않은 값이 표시되거나 다음과 같은 출력이 표시될 수 있습니다.

두 번째 진술이 있는 동안에는 아무것도 표시되지 않습니다.한 가지 더, 이 후에 더 많은 문장이 있으면 결과도 얻을 수 없습니다.

주의: PHP 언어는 싱글 따옴표와 더블 따옴표를 쉽게 사용할 수 있는 유연성을 제공합니다.

이게 원래 질문자가 물어본 것에 대한 답은 아닐 테지만, 만약 당신이 여기에 나와 같은 문자 그대로 정수인 작은 따옴표를 찾게 된다면...

C++14는 숫자 리터럴 중간에 작은 '따옴표()를 추가하여 숫자에 시각적인 그룹화를 추가하는 기능을 추가했습니다.

constexpr int oneBillion = 1'000'000'000;
constexpr int binary = 0b1010'0101;
constexpr int hex = 0x12'34'5678;
constexpr double pi = 3.1415926535'8979323846'2643383279'5028841971'6939937510;

C에서는 다음과 같은 단일 따옴표를 사용합니다.'a'문자 상수를 나타내는 반면"a"는 문자 배열로 항상 끝납니다.\0성격

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

char myChar     = 'A';
char myString[] = "Hello Mum";
char myOtherString[] = { 'H','e','l','l','o','\0' };
  1. single quote을 위한character;
  2. double quote을 위한string.

큰따옴표는 문자열 리터럴을 나타냅니다.예:

char str[] = "Hello world";

작은 따옴표는 단일 문자 리터럴을 나타냅니다. 예:

char c = 'x';

편집 David이 다른 대답에서 언급했듯이, 문자 리터럴의 유형은 다음과 같습니다.int.

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

자바에서도 마찬가지입니다.

다음과 같이 단일 문자와 함께 작은 따옴표 사용

char ch = 'a';

여기서'a'는 문자 상수이며,ASCIIchar a 값

문자열과 함께 다음과 같이 큰따옴표를 사용합니다.

char str[] = "foo";

여기서"foo"는 문자열 리터럴입니다.

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

C&C++에서는 작은따옴표는 문자('a')로 불리며 큰따옴표는 문자열('Hello')로 불립니다.차이점은 한 문자는 하나의 알파벳/숫자 등을 제외한 모든 것을 저장할 수 있다는 것입니다.끈은 무엇이든 저장할 수 있다.하지만 '1'과 '1' 사이에는 차이가 있다는 것도 기억하세요.cout <<'1'<endl<1;>라고 입력하면 출력은 같지만 이 경우는 아닙니다.

cout<<int('1')<<endl<<int(1);

이번에는 첫 번째 행이 48이 될 것이다.문자를 int로 변환하면 해당 문자가 ascii로 변환되고 '1'의 asciii는 48입니다.같은 경우:

string s="Hi";
s+=48; //This will add "1" to the string
s+="1"; This will also add "1" to the string

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

반응형