Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Создание одномерного динамического массива



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

Формат операции new для массивов:

указатель = new тип [количество];

Результат операции new, присваиваемый указателю – адрес начала области памяти для размещения данных указанного количества и типа. При нехватке памяти – результат NULL.

Формат операции delete:

delete указатель;

либо: delete [] указатель; (эти записи равносильны)

После выделения памяти с этим массивом можно работать, аналогично работе с обычным массивом, используя вышеописанную операцию косвенной адресации [].

Пример:

...

double *x;

int i, n;

...

puts(" Введите размер массива: ");

scanf(“%d”, &n);

x = new double [n];

if (x == NULL) {

puts(" Предел размерности! ");

return;

}

for (i=0; i<n; i++) // Ввод элементов массива

scanf(“%lf”, &x[i]); // Косвенная адресация

...

delete [ ]x; // Освобождение памяти

...





Дата публикования: 2014-11-04; Прочитано: 225 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...