ВУЗ:
Составители:
Рубрика:
30
В языке С предусмотрена возможность инициализации массива в момент
его объявления, например, таким образом
int powers[4] = {1, 2, 4, 6};
В этом случае элементу powers[0] присваивается значение 1, powers[1] – 2,
и т.д. Особенностью инициализации массивов является то, что их размер можно
задавать только константами, а не переменными. Например, следующая
программа приведет к ошибке при компиляции:
int N=100;
float array_f[N]; //ошибка, так нельзя
Поэтому при объявлении массивов обычно используют такой подход:
#include <stdio.h>
#define N 100
int main()
{
float array_f[N];
return 0;
}
Следует отметить, что при инициализации массивов число их элементов
должно совпадать с его размерностью. Рассмотрим вариант, когда число
элементов при инициализации будет меньше размерности массива.
#define SIZE 4
int data[SIZE]={512, 1024};
for(int i = 0;i < SIZE;i++)
printf(“%d, \n”,data[i]);
Результат работы программы будет следующим:
512, 1024, 0, 0
Из полученного результата видно, что неинициализированные элементы
массива принимаются равными нулю. В случаях, когда число элементов при
инициализации превышает размерность массива, то при компиляции
произойдет ошибка. Поэтому, когда наперед неизвестно число элементов,
целесообразно использовать такую конструкцию языка С++:
int data[] = {2, 16, 32, 64, 128, 256};
В результате инициализируется одномерный массив размерностью 6 элементов.
Здесь остается последний вопрос: что будет, если значение индекса при
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
