Punctuation
From cppreference.net
다음은 C 언어의 구두점 기호들입니다. 각 기호의 의미는 링크된 페이지에서 자세히 설명되어 있습니다.
목차 |
{
}
- struct 또는 union 정의에서 struct-declaration-list 를 구분합니다.
- enum 정의에서 열거자 목록을 구분합니다.
- 복합 문장(compound statement) 을 구분합니다. 복합 문장은 함수 정의(function definition) 의 일부일 수 있습니다.
- 초기화(initialization) 에서 초기화자를 구분합니다.
[
]
- 첨자 연산자 .
- 배열 선언자 의 일부로서 선언 또는 타입 식별자 에 사용됩니다.
- 초기화 에서 배열 요소의 지정자를 도입합니다. (C99부터)
- 속성 지정자 에서 속성들을 구분합니다. (C23부터)
#
- 전처리 지시문 을 소개합니다.
- 문자열화를 위한 전처리 연산자 .
##
- 토큰 붙여넣기를 위한 전처리 연산자 .
(
)
- 표현식에서 그룹화를 나타냅니다 .
- 함수 호출 연산자 .
-
sizeof,_Alignof(C11부터) ,typeof또는typeof_unqual(C23부터) 표현식에서 피연산자를 구분합니다. - 명시적 캐스트 에서 타입 ID를 구분합니다.
- 복합 리터럴 에서 타입 ID를 구분합니다. (C99부터)
- 선언 또는 타입 ID 에서 그룹화를 나타냅니다.
- 함수 선언자 ( 선언 또는 타입 ID 내에서)에서 매개변수 목록을 구분합니다.
-
if,switch,while,do-while, 또는for문에서 제어 절을 구분합니다. - 함수형 매크로 정의 에서 매크로 매개변수를 구분합니다.
- 함수형 매크로 호출 에서 매크로 인수를 구분하거나 쉼표가 인수 구분자로 해석되는 것을 방지합니다.
-
defined,__has_include,__has_embed또는__has_c_attribute(C23부터) 전처리 연산자의 일부입니다. - 제네릭 선택 표현식 의 일부입니다. (C11부터)
-
_Atomic타입 지정자에서 타입 ID를 구분합니다. (C11부터) - 정적 어서션 선언 에서 피연산자를 구분합니다. (C11부터)
-
_Alignas지정자에서 피연산자를 구분합니다. (C11부터) - 속성 에서 속성 인수를 구분합니다. (C23부터)
- 비트 정밀 정수 타입 이름 ( _BitInt ( N ) )에서 크기를 구분합니다. (C23부터)
- 가변 매크로 정의에서 __VA_OPT__ 치환의 일부입니다. (C23부터)
- #embed 지시문 및 __has_embed 전처리 표현식에서 사용되는 전처리 매개변수에서 전처리 매개변수 절을 구분합니다. (C23부터)
;
- 끝을 나타내십시오
-
- statement (for 문의 init-statement 포함)
- declaration 또는 struct-declaration-list
- for 문 의 두 번째와 세 번째 절을 분리합니다.
:
- 조건부 연산자 의 일부입니다.
- 레이블 선언 의 일부입니다.
- 비트 필드 멤버 선언 에서 너비를 지정합니다.
- enum 베이스 를 도입하여 열거형의 기본 타입을 지정합니다. (C23부터)
- 제네릭 연관 에서 타입 ID 또는 default 와 선택된 표현식을 구분합니다. (C11부터)
...
?
- 조건 연산자 의 일부입니다.
::
.
->
~
!
+
- 단항 더하기 연산자 .
- 이항 더하기 연산자 .
-
*
/
- 나눗셈 연산자 .
%
- 모듈로 연산자 .
^
&
- 주소 연산자 .
- 비트 AND 연산자 .
|
=
+=
-=
*=
/=
%=
^=
&=
|=
==
- 동등 연산자 .
!=
- 부등 연산자 .
<
- Less-than operator .
- 헤더 이름 도입
-
- #include 지시문
- __has_include 전처리 표현식 (C23부터)
- #embed 지시문 (C23부터)
- __has_embed 전처리 표현식 (C23부터)
-
#pragma지시문 내 구현 정의 위치
>
- Greater-than operator .
- 헤더 이름의 끝을 나타냅니다
-
- #include 지시문
- __has_include 전처리 표현식 (C23부터)
- #embed 지시문 (C23부터)
- __has_embed 전처리 표현식 (C23부터)
-
#pragma지시문 내의 구현 정의 위치
<=
>=
&&
||
<<
>>
<<=
>>=
++
- 증가 연산자 .
--
- 감소 연산자 .
,
- Comma operator .
- 목록 구분자
-
- 선언 내의 선언자 목록
- 초기화 내의 초기화 목록 , 포함하여 복합 리터럴 (C99부터)
- 함수 호출 표현식 내의 인수 목록
- 열거형 선언 내의 열거자 목록
- 함수 매개변수 목록
- 함수형 매크로 정의 내의 매크로 매개변수 목록
- 함수형 매크로 호출 내의 매크로 인수 목록, 내부 괄호 집합 사이에 위치하지 않는 경우
- 제네릭 선택 표현식 내의 제네릭 연관 목록 (C11부터)
- 속성 목록 (C23부터)
- 정적 단언 선언 에서 인수를 구분합니다. (C11부터)
- 제네릭 선택 표현식 에서 제어 표현식과 제네릭 연관 목록을 구분합니다. (C11부터)
참고문헌
- C23 표준 (ISO/IEC 9899:2024):
-
- 6.4.6 구두점 (p: 68-69)
- C17 표준 (ISO/IEC 9899:2018):
-
- 6.4.6 구두점 (p: 52-53)
- C11 표준 (ISO/IEC 9899:2011):
-
- 6.4.6 구두점 (p: 72-73)
- C99 표준 (ISO/IEC 9899:1999):
-
- 6.4.6 구두점 (p: 63-64)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 3.1.6 구분자
참고 항목
| 대체 표현 (C95) | 특정 연산자에 대한 대체 표기법 |
|
C++ documentation
for
Punctuation
|
|