Оператор 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.Массивы. Инициализация массивов. Инициализация по умолчанию. Явная инициализация. Инициализация безразмерных массивов.