Составители:
Рубрика:
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, а затем выделенная память заполняется тремя значениями. #includeint 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);
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »