유형 한정자는 C 프로그래밍 언어의 기존 데이터 유형에 특수 속성을 추가합니다.
C 언어에는 세 가지 유형 한정자가 있는데, 그 중 휘발성 유형 한정자와 제한 유형 한정자를 설명하면 다음과 같습니다. -
휘발성 유형 한정자는 변수가 공유된다는 것을 컴파일러에 알리는 데 사용됩니다. 즉, 변수가 휘발성으로 선언되면 다른 프로그램(또는) 엔터티에서 참조하고 변경할 수 있습니다.
예: 휘발성 int x
이것은 포인터에서만 작동합니다. 이는 포인터가 참조된 데이터에 액세스하는 초기 방법일 뿐임을 보여줍니다. 컴파일러 최적화에 대한 추가 도움말을 제공합니다.
예제 프로그램
다음은 휘발성 유형 한정자 -
int *ptr int a= 0; ptr = &a; ____ ____ ____ *ptr+=4; // Cannot be replaced with *ptr+=9 ____ ____ ____ *ptr+=5;
를 사용하는 C 프로그램입니다. 여기서 컴파일러는 *ptr+=4 및 *ptr+=5 두 문을 *ptr+=9 문으로 바꿀 수 없습니다. 변수 "a"에 직접 접근할 수 있는지(또는 다른 포인터를 통해) 접근할 수 있는지 확실하지 않기 때문입니다.
예를 들어
restrict int *ptr int a= 0; ptr = &a; ____ ____ ____ *ptr+=4; // Can be replaced with *ptr+=9 ____ ____ *ptr+=5; ____ ____
여기에서 컴파일러는 두 개의 문을 하나의 문 *ptr+=9로 바꿀 수 있습니다. 왜냐하면 확실히 다른 리소스를 통해 변수에 액세스할 수 없기 때문입니다.
다음은 제한 키워드를 사용한 C 프로그램입니다. -
Live Demonstration
#include<stdio.h> void keyword(int* a, int* b, int* restrict c){ *a += *c; // Since c is restrict, compiler will // not reload value at address c in // its assembly code. *b += *c; } int main(void){ int p = 10, q = 20,r=30; keyword(&p, &q,&r); printf("%d %d %d", p, q,r); return 0; }
위 프로그램을 실행하면 다음과 같은 결과가 나옵니다. -
40 50 30
위 내용은 예를 들어 C 언어의 휘발성 및 제한 유형 한정자를 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!