Инициализация одномерных массивов

Инициализацию массива можно проводить одновременно с его объявлением. Для этого после объявления массива вместо; нужно поставить знак = и в фигурных скобках через запятую указать значения элементов массива.

Примеры инициализации одномерных массивов.

1) int a[5] = {1,2,3,4,5}; // a[0]=1, a[1]=2,…, a[4]=5

2) double b[]={2.1,3.0,1.12,4.44}; // Если размер массива не указан, то компилятор автоматически его вычислит по списку значений элементов

3) int с[4]={10,20};// с[0]=10, c[1]=20, значения остальных элементов массива не устанавливаются, они могут содержать любой мусор.

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

const int n;

float x[]={1.1,2.2,3.3,4.4}; // Инициализация массива из 4 элементов

n = sizeof(x)/sizeof(x[0]); // Размер массива x делится на размер элемента массива

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

Для задания элементов массива нужно….

# include <stdio.h>

# include <time.h>

# include <stdlib.h>

void main()

{

float array[3];

srand(time(NULL));

for (int i = 0; i<3; i++)

{

array[i] = float(rand())/RAND_MAX;

printf("%3.2f\n", array[i]);

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: