Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора по информатике.docx
Скачиваний:
6
Добавлен:
18.09.2019
Размер:
819.82 Кб
Скачать

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

Массив – это набор переменных, имеющих один тип и одно и то же базовое имя и отличающихся одна от другой номером элемента. Другими словами, массив – это упорядоченный набор однородных переменных одного типа, с одинаковой формой представления, основанием и точностью значений. Массив характеризуется своим именем, количеством измерений (индексов) и количеством переменных в каждом измерении (количеством значений, которые может принимать индекс).

Для создания массива необходимо задать тип данных и размер, т.е. количество элементов. Массив может быть как одномерным, так и многомерным, что указывается при его описании.

указатель – это некоторое символическое представление адреса переменной. В том случае, если переменная описана, например, как p, то использование в программе p означает использование значения переменной (например, 3.14), а &p означает "указатель на переменную p", т.е. это – "адрес переменной p".

При описании переменной как указателя необходимо задать, на переменную какого типа ссылается данный указатель:

тип *имя;

Например: float *p; int *k;

8 Функции пользователя языка программирования си (понятие, объявление, определение, вызов).

Функция – самостоятельная единица программы, спроектированная для реализации конкретной задачи.

Типичное определение функции имеет следующий вид:

тип имя (список аргументов) // – заголовок функции

{ тело функции}

Переменные, отличные от аргументов, описываются внутри тела функции, которое заключается в фигурные скобки. Вначале указывается заголовок функции, затем идёт открывающая фигурная скобка, приводится описание используемых переменных, даются операторы, определяющие работу функции, и, наконец, закрывающая фигурная скобка. Обратите внимание, что за заголовком функции не следует символ "точка с запятой"; его отсутствие служит указанием компилятору, что здесь определяется функция, а не используется.

9 Функции пользователя языка си (передача параметров в функцию, ссылочные переменные).

Аргументы, передаваемые в функцию при вызове, называются фактическими параметрами, а аргументы, перечисленные в заголовке функции при её описании, называются формальными параметрами.

Формальные и фактические параметры должны согласовываться по количеству, порядку следования и типу

Переменные, известные только одной функции, а именно той, которая их содержит, называются локальными переменными; они действуют только в пределах этой функции. Наличие переменных, известных нескольким функциям - глобальные. Переменная является глобальной, если она описана вне тела какой-либо функции. Обычно глобальные переменные описываются в самом начале, сразу после команд препроцессора.

Пример:

#include <stdio.h>

float a[10][20]; //массив описан как глобальный

void my_func()

{ float b[10]; //массив описан как локальный

b[0] = 0;

a[0][0] = 0; ...}

void main ()

{ my_fuc();

printf("a00 = %f\n",a[0][0]); //правильно, т.к. используется //элемент массива а, описанного глобально

printf("b0 = %f\n",b[0]); //неправильно, т.к. массив b здесь просто // "неизвестен" (он известен только внутри функции my_funk()!)}

Таким образом, с помощью оператора return в вызывающую функцию можно передать только одну величину.

Так как в языке Си при обращении к функции через параметры передаются конкретные значения соответствующих аргументов, то вернуть полученные значение через аргументы, перечисленные в заголовке функции, просто так не удастся.

Если в вызывающую функцию требуется передать (вернуть) более чем одно значение, необходимо в качестве аргументов использовать указатели.