Оператор atexit().

Всякий раз, когда программа вызывает функцию exit() или происходит нормальное завершение программы, можно также вызывать любую зарегистрированную "функцию выхода", занесенную в atexit(). Следующая программа на С иллюстрирует эту возможность:

void atexit_fn1(void);

void atexit_fn2(void);

void atexit_fn3(void);

main()

{

atexit(atexit_fn1);

atexit(atexit_fn2) ;

atexit(atexit_fn3) ;

printf("Atexit program entered.\n"); /* Вход в программу Atexit.*/

printf("Atexit program exited.\n\n"); /* Выход из программы Atexit.*/

printf (">>>>>>>>>> <<<<<<<<,\n\n") ;

printf ("\n\nPress any key to finish\n");

_getch();

return(0);

}

 

void atexit_fn1(void)

{

printf("atexit_fn1 entered.\n"); /* Вход в функцию atexit_fn1.*/

}

void atexit_fn2(void)

{

printf("atexit_fn2 entered.\n"); /* Вход в функцию atexit_fn2.*/

}

void atexit_fn3(void)

{

printf("atexit_fn3 entered.\n"); /* Вход в функцию atexit_fn3.*/

}

 

65.Массивы. Понятие массив. Массивы в С. Объявление массивов. Доступ к элементам массива. Размещение массивов в памяти. Проблема ввода.

Массивы.

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

 

float debts [20];

объявляется, что debts — массив, состоящий из двадцати членов, или «элементов». Первый элемент массива называется debts[0], второй — debts[1], и т. д. вплоть до debts[19]. Заметим, что перечисление элементов массива начинается с 0, а не с 1. Поскольку мы объявили, что массив имеет тип float, каждому его элементу можно присвоить величину типа float.

Понятие массив.

Можно рассматривать массивы как переменные, содержащие несколько элементов одного типа. Доступ к каждому отдельному элементу данных осуществляется при помощи индекса этой переменной. В языке С массивы не являются стандартным типом данных; они представляют собой составной тип, созданный на основе других типов данных. В С возможно создавать массивы из любых типов переменных: символов, целых, чисел двойной длины, массивов, указателей, структур и так далее. В общих чертах концепции массивов и способы их использования в С и C++ совпадают.

Массивы в С.

Массивы имеют четыре основных характеристики:

· Отдельные объекты данных в массиве называются элементами.

· Все элементы массива должны иметь одинаковый тип данных.

· Все элементы располагаются в памяти компьютера последовательно, и индекс первого элемента равен нулю.

· Имя массива является постоянным значением, представляющим собой адрес первого элемента массив

Объявление массивов.

Ниже приведены примеры объявлений массивов:

int iarray[12]; /* массив из 12 целых чисел */

char carray[20]; /* массив из 20 символов */

Проблема ввода.

Язык Си предоставляет много средств для структурирования программ. С помощью операторов while и for реализуются циклы с предусловием. Второй оператор особенно подходит для циклов, включающих в себя инициализацию и коррекцию переменной. Использование операции «запятая» в цикле for позволяет инициализировать и корректировать более одной переменной. Для тех редких случаев, когда требуется использовать цикл с постусловием, язык Си предоставляет оператор do while. Операторы break, continue и goto обеспечивают дополнительные возможности управления ходом выполнения программы.

Массивы в программе описываются так же, как обычные переменные, но при этом в квадратных скобках указывается число элементов. Первому элементу массива присваивается номер 0, второму — номер 1 и т. д. Индексы, используемые для нумерации элементов массива, могут обрабатываться обычным образом при помощи циклов.

66.Массивы. Инициализация массивов. Инициализация по умолчанию. Явная инициализация. Инициализация безразмерных массивов.