Языки программирования для численных методов. Глушакова Т.Н - 58 стр.

UptoLike

58
для передачи параметров по ссылке, т.е. когда
необходимо, чтобы функция могла изменить значение параметра так ,
чтобы это изменение сохранилось при выходе из нее (при передаче
параметров по значению в функции используется копия параметра и она
поэтому не может изменить его так , чтобы это сохранилось при выходе);
для работы с динамической памятью . Под динамической памятью
понимается память , которую мы резервируем не при написании
программы, а выделяем уже в момент, когда программа выполняется . Это
требуется , когда заранее неизвестно, сколько памяти будет нужно и
определяется это уже только при выполнении программы. Например,
пользователь вводит массив такой какой он хочет. В этих ситуациях
программа вызывает стандартную функцию и передает ей параметром
столько памяти сколько нужно. Эта функция находит свободную область
памяти в компьютере, резервирует ее для нас и возвращает указатель на
нее, чтобы мы получили к ней доступ . Так как мы заранее не можем знать ,
где эта память будет выделена, работа с ней возможна только через
указатели (т.е. ее адрес);
для удобства обращения к разным участкам области памяти,
перемещая указатель при помощи адресной арифметики.
Один из самых простых примеров использования указателей это
передача в функцию параметров по ссылке. В С нет типа «ссылка на
объект» , есть только указатели. Соответствующий параметр функции
необходимо определить , как указатель на нужный тип , а при ее вызове
передавать нужный адрес. Например:
int func(int*param)
{
:
*param = .; /*меняем что - то */
}
:
void main( )
{
int k;
i = func(&k); /*переменная k будет изменена*/
}
                                      58
     для передачи параметров            по     ссылке,    т.е.   когда
необходимо, чтобы функция могла изменить значение параметра так,
чтобы это изменение сохранилось при выходе из нее (при передаче
параметров по значению в функции используется копия параметра и она
поэтому не может изменить его так, чтобы это сохранилось при выходе);
     для работы с динамической памятью. Под динамической памятью
понимается память, которую мы резервируем не при написании
программы, а выделяем уже в момент, когда программа выполняется. Это
требуется, когда заранее неизвестно, сколько памяти будет нужно и
определяется это уже только при выполнении программы. Например,
пользователь вводит массив такой какой он хочет. В этих ситуациях
программа вызывает стандартную функцию и передает ей параметром
столько памяти сколько нужно. Эта функция находит свободную область
памяти в компьютере, резервирует ее для нас и возвращает указатель на
нее, чтобы мы получили к ней доступ. Так как мы заранее не можем знать,
где эта память будет выделена, работа с ней возможна только через
указатели (т.е. ее адрес);
      для удобства обращения к разным участкам области памяти,
перемещая указатель при помощи адресной арифметики.
      Один из самых простых примеров использования указателей – это
передача в функцию параметров по ссылке. В С нет типа «ссылка на
объект», есть только указатели. Соответствующий параметр функции
необходимо определить, как указатель на нужный тип, а при ее вызове
передавать нужный адрес. Например:
      int func(int*param)
      {
                   :
                   *param = ….; /*меняем что-то*/
     }
     :
     void main(…)
     {
     int k;
     i = func(&k); /*переменная k будет изменена*/
     }