Типичная ошибка программирования 3 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типичная ошибка программирования 3



Задание в списке начальных значений большего числа значений, чем имеется элементов в массиве, является синтаксической ошибкой.

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

int n[ ] = {1, 2, 3, 4, 5};

создало бы массив из пяти элементов.

Программа на рис.5 присваивает начальные целые значения 2, 4, 6,..., 20 элементам массива s из десяти элементов и печатает массив в табулированном формате. Эти значения генерируются путем умножения каждого последующего значения счетчика цикла на 2 и прибавления 2.

Рис.5 – Генерация значений, размещаемых в элементах массива

(часть 1 из 2)

Рис.5 – Генерация значений, размещаемых в элементах массива

(часть 2 из 2)

Строка

Const int arraySize = 10

использует спецификацию const для объявления так называемой постоянной переменной arraySize, имеющей значения 10. Постоянные переменные должны получать при объявлении в качестве начальных значений постоянные выражения, которые после этого не могут быть модифицированы (рис.6 и рис.7). Постоянные переменные называются также именованными константами, или переменными только для чтения, или типизированными константами. Мы будем использовать термин именованная константа.

Типичная ошибка программирования 4

Присваивание значения именованной константе в выполняемом операторе является синтаксической ошибкой.

Рис.6 – Постоянный объект должен получить начальное значение

Рис.7 – Правильное присваивание начального значения и использование именованной константы

 

Именованные константы могут быть перемещены в любое место, где ожидается постоянное выражение. На рис.5 именованная константа arraySize используется для задания размера массива s в объявлении

int s [arraySize];

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

Использование именованных констант для задания размеров массивов делает программу более масштабируемой. На рис.5 первый цикл for мог бы заполнять 1000-элементный массив, если просто изменить значение arraySize в его объявлении с 10 на 1000. Если бы мы не использовали именованную константу arraySize. Мы должны были бы изменить программу в трех разных местах, чтобы масштабировать программу для обработки массива из 1000 элементов. В больших программах эта техника становится более полезной для написания понятных программ.



Поделиться:


Последнее изменение этой страницы: 2021-04-14; просмотров: 68; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.9.115 (0.004 с.)