Veiasai / study-reference

MIT License
0 stars 0 forks source link

C restrict 关键字 #6

Open Veiasai opened 5 years ago

Veiasai commented 5 years ago

用于限定一个指针变量 表明该变量是唯一修改指向内容的入口 int * restrict p = malloc(10 * sizeof(int)) p[0] = 2 xxx return p[0]

像这种语句编译器不能确定中间代码是否用到p[0],这是个寻址访问,所以不能在读取p[0]的时候直接从寄存器中读取,而是要再次访问内存。 但restrict关键字则告诉编译器,只有限定变量能修改,所以可以优化。