Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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




 

Массив – это совокупность элементов одного типа, имеющих одно имя и расположенных в памяти ПК вплотную друг к другу (в смежных ячейках). Массивы могут состоять из арифметических данных, символов, строк, структур, указателей. Доступ к отдельным элементам массива осуществляется по имени массива и индексу (порядковому номеру) элемента. Например, int d[4]; d[0], d[1], d[2], d[3].

При объявлении массива в программе определяется имя массива, тип его элементов, размерность и размер. Размерность или количество измерений массива определяется количеством индексов при обращении к элементам массива (F[5][8]). Массивы бывают одномерные, двухмерные, трехмерные и т.д. Размер массива – это количество его элементов по соответствующим размерностям.

Общий вид объявления массива:

<имя_типа> <имя_массива> [k1] [k2] … [kn];

где k1, k2, …, kn – количество элементов массива – константы или константные выражения по 1, 2, …, n измерениям. Причем значения индексов могут изменяться от 0 до ki – 1.

float v[5][10][20];

Такое объявление массива называют статическим, поскольку предельное количество его элементов известно заранее и оно уже не может быть изменено в ходе выполнения программы. При работе с массивами необходимо следовать следующим правилам:

- современные трансляторы языка Си не контролируют допустимость значений индексов, это должен делать программист;

- количество измерений массива не ограничено;

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

- имя массива является указателем – константой на первый элемент массива;

- операций над массивами в Си нет, поэтому пересылка элементов одного массива в другой может быть реализована только поэлементно с помощью цикла;

- над элементами массива допускаются те же операции что и над простыми переменными того же типа;

- ввод/вывод значений элементов массива можно производить только поэлементно;

- начальные значения элементам массива можно присвоить при объявлении массива.

 

Примеры объявления массивов:

int A [10]; //одномерный массив из 10 целочисленных величин

float X [20]; //одномерный массив из 20 вещественных величин

int a[5]={11,2,23,-17,65}; //массив с инициализацией его элементов

int c[]={–1 , 2, 0, –4, 5, –3, –5, –6, 1}; // массив, размер которого определяется числом инициализирующих элементов

 

Обращения к элементам одномерного массива могут иметь вид: A[0], A[1], A[2],…A[9], A[2*3],A[m-2*n].

В Си нет массивов с переменными границами. Но, если количество элементов массива известно до выполнения программы, можно определить его как константу с помощью директивы #define, а затем использовать ее в качестве границы массива, например,

#define n 10;

main ( )

{ int a[n], b[n]; // Объявление 2–х одномерных массивов

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

 


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.004 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал