C 语言中的 restrict 关键字


在本文中,我们将了解 C 语言中的 restrict 关键字。restrict 关键字最早出现在 C99 版本中。让我们看看这个 restrict 关键字到底是什么。

  • restrict 关键字用于指针声明,作为指针的类型说明符。

  • 这个关键字不会添加新的功能。使用这个关键字,程序员可以告知编译器可以进行的优化。

  • 当 restrict 关键字与指针 p 一起使用时,它告诉编译器,ptr 是访问此指针所指对象的唯一方式。因此,编译器不会添加任何额外的检查。

  • 如果程序员使用 restrict 关键字然后违反上述条件,它将生成一些未定义的行为。

示例

#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

更新于: 30-7-2019

1K+ 次浏览

开启你的职业生涯

完成课程并获得认证

开始
广告