형식 한정자

형식 한정자가 두 속성 중 하나에 식별자를 제공 합니다.해당 const 형식 한정자는 수정할 수 없는 개체를 선언 합니다.volatile 선언으로 나타나는, 같은 스레드가 동시에 실행 되는 프로그램의 제어를 벗어나는 값을 변경할 수 있습니다 정당 항목 형식 한정자입니다.

두 한정자를 입력 const 및 volatile, 선언에 한 번만 나타날 수 있습니다.형식 한정자는 형식 지정자로 나타나야 합니다. 그러나 여러 항목 선언에서 첫 번째 쉼표 나타날 수 없습니다.예를 들어, 다음과 같은 선언을 사용할 수 있습니다:

typedef volatile int VI;
const int ci;

이러한 선언을 사용할 수 없습니다.

typedef int *i, volatile *vi;
float f, const cf;   

형식 한정자가 식의 l-value로 식별자만에 액세스할 때 해당 됩니다.참조 하십시오 L 값 및 R-Value 식 l 값 및 식에 대 한 정보를 합니다.

구문

  • 형식 한정자:
    constvolatile

다음 잘못 된 const 및 volatile 선언 합니다.

int const *p_ci;       /* Pointer to constant int */
int const (*p_ci);     /* Pointer to constant int */
int *const cp_i;       /* Constant pointer to int */
int (*const cp_i);     /* Constant pointer to int */
int volatile vint;     /* Volatile integer        */

사양 배열 형식의 형식 한정자가 포함 된 경우 요소가 한정 되었는지, 배열 형식입니다.함수 형식 사양은 한정자가 포함 되어 있는 경우 동작이 정의 되지 않습니다.둘 다 volatile 또는 const 값의 범위 또는 개체의 속성을 산술 연산에 영향을 줍니다.

이 목록을 사용 하는 방법에 설명 합니다. const 및 volatile.

  • 해당 const 키워드를 사용 하는 기본 또는 집계 유형 또는 모든 종류의 개체에 대 한 포인터를 수정할 수 또는 typedef.항목에만 선언 되는 경우는 const 형식 한정자의 형식이 결정 됩니다에 const int.A const 변수를 초기화할 수 또는 읽기 전용 저장소 영역에 배치 될 수 있습니다.Const 키워드에 대 한 포인터를 선언 하는 데 유용 합니다 const 이 함수 포인터에 전혀 변경 하지 않는 것을 해야 하기 때문입니다.

  • 컴파일러는 프로그램을 언제 든 지 가정은 volatile 변수를 사용 하거나 해당 값을 수정 하는 알 수 없는 프로세스에서 액세스할 수 있습니다.따라서 명령에 지정 된 최적화 기능에 관계 없이 각 할당 하는 코드 줄 나의 참조는 volatile 영향을 미치지에 나타나는 경우에 변수를 생성 합니다.

    경우 volatile 만 사용 int 간주 됩니다.volatile 형식 지정자를 사용 하 여 신뢰할 수 있는 특별 한 메모리 위치에 액세스 합니다.사용 volatile 액세스 하거나 신호 처리기에 의해 변경 될 수 있습니다 데이터 개체를 동시에 프로그램을 실행 하거나 특별 한 하드웨어 같은 메모리 매핑된 I/O 제어 레지스터.변수를 선언할 수 있습니다 volatile 수명, 또는 사용자 수에 대 한 단일 참조를 캐스팅할 수 있습니다에 대 한 volatile.

  • 항목 모두 될 수 있습니다 const 및 volatile, 경우에 항목을 합법적으로 자신의 프로그램에서 수정할 수 없습니다 있지만 일부 비동기 프로세스에서 수정할 수 있습니다.

참고 항목

개념

선언 및 형식