여기에서 우리는 C의 제한 키워드가 무엇인지 볼 것입니다. C99 버전에서 처음 도입된 제한 키워드입니다. 이 제한 키워드가 실제로 무엇인지 봅시다.
-
제한 키워드는 포인터의 유형 수량자로 포인터 선언에 사용됩니다.
-
이 키워드는 새로운 기능을 추가하지 않습니다. 이를 사용하여 프로그래머는 컴파일러가 수행할 수 있는 최적화에 대해 알릴 수 있습니다.
-
제한 키워드가 포인터 p와 함께 사용되면 ptr이 포인터 p가 가리키는 개체에 액세스하는 유일한 방법임을 컴파일러에 알립니다. 따라서 컴파일러는 추가 검사를 추가하지 않습니다.
-
프로그래머가 제한 키워드를 사용하고 위의 조건을 위반하면 정의되지 않은 일부 동작이 생성됩니다.
예시
#include <stdio.h> void my_function(int* x, int* y, int* restrict z) { *x += *z; *y += *z; } main(void) { int x = 10, y = 20, z = 30; my_function(&x, &y, &z); printf("%d %d %d", x, y, z); }
출력
40 50 30