Программирование на языке высокого уровня. Марапулец Ю.В. - 189 стр.

UptoLike

Составители: 

лизация таких операций требует, в общем случае, включения специальных команд рас-
ширения (например - знаковое расширение).
Условия в операторе if. По стандарту языка С условия в условном операторе вы-
числяются последовательно. При этом, если условие есть, например, некоторая конъ-
юнкция элементарных посылок, то при ложности одной из них все остальные уже не
вычисляются. Это можно использовать, располагая условия в порядке, обеспечивающем
минимальное число вычислений. Аналогичные рассуждения применимы и для дизъюнк-
ции элементарных посылок.
Функции и передача параметров. Остановимся на следующих моментах:
-
временной выигрыш можно получить, реализуя функции как текстовые макросы;
-
функции могут быть реализованы как inline (открытая подстановка);
-
для сложных агрегатов данных передача указателей осуществляется быстрее, чем
передача самих значений, поскольку в последнем случае выполняется полное копи-
рование аргументов.
Использование указателей вместо индексации. При работе с массивами исполь-
зование указателей может обеспечить выигрыш во времени по сравнению с индексаци-
ей. Например, вместо:
mas [0] =mas [i] +mas [j];
можно использовать
*mas=*(mas+i) + *(mas+j);
189
лизация таких операций требует, в общем случае, включения специальных команд рас-
ширения (например - знаковое расширение).

     Условия в операторе if. По стандарту языка С условия в условном операторе вы-
числяются последовательно. При этом, если условие есть, например, некоторая конъ-
юнкция элементарных посылок, то при ложности одной из них все остальные уже не
вычисляются. Это можно использовать, располагая условия в порядке, обеспечивающем
минимальное число вычислений. Аналогичные рассуждения применимы и для дизъюнк-
ции элементарных посылок.

      Функции и передача параметров. Остановимся на следующих моментах:
-   временной выигрыш можно получить, реализуя функции как текстовые макросы;
-   функции могут быть реализованы как inline (открытая подстановка);
-   для сложных агрегатов данных передача указателей осуществляется быстрее, чем
    передача самих значений, поскольку в последнем случае выполняется полное копи-
    рование аргументов.

     Использование указателей вместо индексации. При работе с массивами исполь-
зование указателей может обеспечить выигрыш во времени по сравнению с индексаци-
ей. Например, вместо:

mas [0] =mas [i] +mas [j];

можно использовать

*mas=*(mas+i) + *(mas+j);




                                        189