Алгоритмы и структуры данных на С++. Аксёнова Е.А - 11 стр.

UptoLike

1.2. Массивы и указатели 11
return h*s; // возвращаем значение интеграла
}
В этой программе подынтегральная функция y=x*x передается в
функцию integr в качестве параметра. Для вычисления интеграла
от другой функции требуется заменить функцию float g(float x)
и перекомпилировать программу.
Эквивалентную программу можно получить, если заменить про-
тотип функции integr на float integr(float a, float b, int n,
float (* f) (float)). В качестве параметра в функцию integr пе-
редается указатель на подынтегральную функцию. Описание указа-
теля на функцию требует задания типов параметров и типа возвра-
щаемого значения. Например, int(*f)(int,int) это указатель на
функцию с двумя целыми параметрами, которая возвращает целое
значение, а int *f(int, int) это функция с двумя целыми пара-
метрами, возвращающая указатель на целое значение.
1.2. Массивы и указатели
Рассмотрим несколько примеров программ работы с указателями
и массивами. В следующем примере описан указатель int *list, за-
тем ему с помощью оператора new присваивается адрес нового блока
свободной памяти из трех элементов типа int, а затем выделенная
память заполняется тремя значениями.
#include <stdio.h>
int main()
{
int *list; // указатель на 0-й элемент массива list
int i;
list=new int[3];
*list=421; // значение 0-го элемента
*(list+1)=53; // значение 1-го элемента
*(list+2)=1806; // значение 2-го элемента
printf("список адресов");
for(i=0; i<3; i++)
printf("%p", list+i);
1.2.       Массивы и указатели                                 11


           return h*s;      // возвращаем значение интеграла
       }


   В этой программе подынтегральная функция y=x*x передается в
функцию integr в качестве параметра. Для вычисления интеграла
от другой функции требуется заменить функцию float g(float x)
и перекомпилировать программу.
   Эквивалентную программу можно получить, если заменить про-
тотип функции integr на float integr(float a, float b, int n,
float (* f) (float)). В качестве параметра в функцию integr пе-
редается указатель на подынтегральную функцию. Описание указа-
теля на функцию требует задания типов параметров и типа возвра-
щаемого значения. Например, int(*f)(int,int) – это указатель на
функцию с двумя целыми параметрами, которая возвращает целое
значение, а int *f(int, int) – это функция с двумя целыми пара-
метрами, возвращающая указатель на целое значение.


                     1.2. Массивы и указатели

   Рассмотрим несколько примеров программ работы с указателями
и массивами. В следующем примере описан указатель int *list, за-
тем ему с помощью оператора new присваивается адрес нового блока
свободной памяти из трех элементов типа int, а затем выделенная
память заполняется тремя значениями.

#include 
 int main()
   {
     int *list; // указатель на 0-й элемент массива list
     int i;
     list=new int[3];
     *list=421;                // значение 0-го элемента
     *(list+1)=53;             // значение 1-го элемента
     *(list+2)=1806;           // значение 2-го элемента
     printf("список адресов");
     for(i=0; i<3; i++)
         printf("%p", list+i);