📜  在C中限制关键字

📅  最后修改于: 2021-05-26 00:29:25             🧑  作者: Mango

在C编程语言(99标准之后)中,引入了一个新的关键字,称为strict。

  • strict关键字主要在指针声明中用作指针的类型限定符。
  • 它没有添加任何新功能。这只是程序员告知编译器可以进行的优化的一种方式。
  • 当我们将限制与指针ptr一起使用时,它告诉编译器ptr是访问它所指向的对象的唯一方法,并且编译器不需要添加任何其他检查。
  • 如果程序员使用strict关键字并违反上述条件,则结果是未定义的行为。
  • C++不支持limit。它是仅C的关键字。
// C program to use restrict keyword.
#include 
  
// Note that the purpose of restrict is to
// show only syntax. It doesn't change anything
// in output (or logic). It is just a way for
// programmer to tell compiler about an 
// optimization
void use(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. Therefore generated
    // assembly code is optimized
    *b += *c;  
}
  
int main(void)
{
    int a = 50, b = 60, c = 70;
    use(&a, &b, &c);
    printf("%d %d %d", a, b, c);
    return 0;
}

输出:

120 130 70
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。