我有以下结构:
typedef struct{
int data[LENGTH];
}Data;
并像这样使用它:
Data* dt=CALLOC(...)
int foo(Data* restrict d){
for(...)
d[i]->data[j];
//do stuff with data[]
}
我的问题是:删除严格别名是否d
也会影响其成员,还是我需要restrict
单独使用它们?换句话说,是否restrict
暗示结构中包含的所有指针都得到相同的处理?
编辑:通过别名级别,我的意思是,如果一个指向结构的指针被restrict
编辑,那么包含在其中的任何其他指针也会受到限制(就像我的例子一样)。