restrict is a type qualifier in C that promises a lack of pointer aliasing. It tells the compiler that the pointer is the only access to the object it points to, i.e., we cannot get to the pointer value any other way.

This is especially relevant with pointer based functions (like those in stdlib.h or string.h). For string processing functions, this is an important optimisation tool.