我明白什么restrict
意思,但我对这种用法/语法有点困惑:
#include <stdio.h>
char* foo(char s[restrict], int n)
{
printf("%s %d\n", s, n);
return NULL;
}
int main(void)
{
char *str = "hello foo";
foo(str, 1);
return 0;
}
成功编译gcc main.c -Wall -Wextra -Werror -pedantic
在这种情况下,限制如何工作并由编译器解释?
gcc 版本:5.4.0