Сишные трюки от мыщъха


Указатели


Компиляторы стремятся размещать переменные в регистрах, избегая "дорогостоящих" операций обращения к памяти, однако не всегда это у них получается, особенно при работе с указателями, поскольку, в общем случае компилятор не может быть уверен, что два _различных_ указатели не адресуют _одну_ _и_ _туже_ ячейку памяти.

Вот, например:

f(char *x, int *dst, int n)

{

       int i; for (i = 0; i < n; i++) *dst += x[i];

}



Содержание раздела