в массиве 2) справа от
Индекс - часть ИМЕНИ ПЕРЕМЕННОЙ.
На самом деле индексация - это 1) выбор элемента в массиве 2) справа от присваиваний и в выражениях - еще и разыменование, то есть взятие вместо имени переменной - значения, в ней хранящегося.
Если в переменную не было занесено значение, а мы используем эту переменную, то в ней лежит МУСОР (любое, непредсказуемое значение).
printf("var4 есть %d\n", var[4]);
напечатает все что угодно.
Поэтому переменные надо всегда инициализировать (давать им начальное значение).
Глобальные переменные автоматически инициализируются нулем, если мы не задали иначе.
Локальные переменные не инициализируются автоматически, и содержат МУСОР.
Массивы НЕЛЬЗЯ присваивать целиком, язык Си этого не умеет.
int a[5]; int b[5];
a = b; /* ошибка */
Также нельзя присвоить значение сразу всем элементам (ячейкам) массива:
a = 0; /* ошибка */
не делает того, что нами ожидалось, а является ошибкой. Для обнуления всех ячеек следует использовать цикл:
int i;
for(i=0; i < 5; i++) /* для каждого i присвоить a[i] = 0; */ a[i] = 0;
СВЯЗЬ МАССИВОВ И ЦИКЛОВ ======================= Вследствие этого массивы приходится копировать (и инициализировать) поэлементно, в цикле перебирая все (или часть) ячейки массива.
int i;
for(i=0; i < 5; i++) a[i] = b[i];
В данном случае индекс цикла служит также и индексом в массиве.
Индексы в массиве идут с НУЛЯ.
Пример инициализации:
int index, array[5];
for(index=0; index < 5; index++) array[index] = index * 2 + 1;
или
int index, array[5];
index = 0; while(index < 5){ array[index] = index * 2 + 1; index++; }
/* В массиве будет: { 1, 3, 5, 7, 9 } */
ИНДЕКС для массивов - номер "ящика/ячейки" в массиве.
для циклов - номер повторения цикла, счетчик. Мы должны изменять его САМИ.
Обычно массивы и циклы совмещаются так: индекс цикла есть индекс в массиве; то есть индекс цикла используется для перебора всех элементов массива:
int a[N], i;
for(i=0; i < N; i++) ...a[i]...
Примеры:
int a[5];
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий