restrict,C语言中的一种类型限定符(Type Qualifiers),用于告诉编译器,对象已经被指针所引用,不能通过除该指针外所有其他直接或间接的方式修改该对象的内容。
restrict主要是c语言里用来做优化的关键字
#include <stdio.h>
int foo(int *a, int *b)
{
*a = 1;
*b = 6;
return *a + *b;
}
int rfoo(int *restrict a, int *restrict b)
{
*a = 1;
*b = 6;
return *a + *b;
}
int main()
{
int i =0;
int *a = &i;
int *b = &i;
printf("%d ",foo(a,b));
printf("%d ", rfoo(a,b));
}