![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Одномерные массивы
Как и другие переменные, массив должен быть объявлен. Существует несколько способов объявления массива. Общая форма объявления одномерного массива имеет следующий вид: < класс> тип имя [размер] где класс – необязательный элемент, определяющий класс памяти (extern, static, register); тип – базовый тип элемента массива; имя – идентификатор массива; размер – количество элементов в массиве. Доступ к элементу массива осуществляется с помощью имени массива и индекса. Индекс элемента массива помещается в квадратных скобках после имени. Нижнее значение индекса всегда нуль. Таким образом, элементами массива, состоящего из Nэлементов, являются переменные с индексами a[0], a[1], …, a[N–1]. В качестве N в описании должна стоять целая положительная константа. Пример программы Найти # include < stdio.h> # define N 15 int main() { float x[N], s; int i; for (i=0, s=0; i< N; ++i) { printf(" \n Input x[%d]", i); scanf(" %f", & x[i]); s+=x[i]; } printf(" \n S=%f", s); return 0; } Объем памяти, необходимый для хранения массива, определяется типом элемента массива и количеством элементов, входящих в массив. Для одномерного массива требуемый объем памяти вычисляется следующим образом: Объем памяти в байтах = sizeof(базовый тип элемента)× длина массива. Во время выполнения программы не проверяется ни соблюдение границ массива, ни его содержимое. Задача проверки и соответственно корректности выполнения программы возложена на программиста. В языке C массивы при объявлении можно инициализировать. Общая форма инициализации массива аналогична инициализации переменной: < класс> тип имя [размер] = {список значений}; Список значений представляет собой список констант, перечисленных в фигурных скобках через запятую. Типы констант должны быть совместимы с типом массива. Первая константа присваивается первому элементу массива, имеющему индекс нуль, вторая – второму и так далее. После закрывающей фигурной скобки точка с запятой обязательна: static float x[5]={7.5, 0, –3.2, 0, 4}; В этом случае будет создан массив на 5 элементов. Если в списке инициализации задать количество элементов меньше, чем задано в объявлении массива, то остальные элементы принимаются равными нулю. Если в списке инициализации задать количество элементов больше, чем задано в объявлении массива, это вызовет ошибку при компиляции программы. При инициализации допустима и следующая форма объявления: < класс> тип имя [] = {a0, a1, …, aМ–1}; Компилятор сам создает массив из М элементов, присваивая им значения a0, a1, …, aМ–1.
|