C99 incorpora este modificador aplicable a punteros. Cuando se establece se informa al compilador que el puntero será el único medio para acceder a los datos a los que apunta. Este modificador permite que el compilador pueda hacer mejores optimizaciones de código.
El procedimiento modificaVector multiplica cada elemento de un vector de enteros por un valor entero pasado como tercer parámetro
void modificaVector(int * restrict v, int n, int m){ register int i; for(i=0; i<n; i++) v[i]* = m; }