Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Правило #8, про инициализацию массивов ⇐ ПредыдущаяСтр 4 из 4
Массивы с заранее предопределенными значениями (если их не требуется по заданию вводить с клавиатуры или из файла) инициализировать НЕ операторами присваивания, а с использованием инициализаторов и типизированных констант в языках Си и Паскаль, соответственно. НЕправильно: double matrix[3][3]; .... matrix[0][0] = 1.5; matrix[0][1] = 2.5; ......
Matrix: array[1..3, 1..3] of extended; ...... Matrix[1, 1]: = 1.5; Matrix[1, 2]: = 2.5; Правильно:
double matrix[3][3] = { {1.5, 2.5,... }, {...}, {...}, };
const Matrix: array[1..3, 1..3] of extended = ( (1.5, 2.5,...), (...), (...) );
Правило #9, про функции/процедуры 9.1) Функции ДОЛЖНЫ БЫТЬ. Программа без подпрограмм - почти заведомо плохая программа, за исключением программы, выводящей сообщение " Hello, world! " (и то не всегда), см. пример в конце. Правило #10, про ошибки и еще кое про что Если та или иная функция может потенциально завершиться неудачно, это ОБЯЗАТЕЛЬНО следует проверять. Это предохранит Вас и преподавателя(!) от долгих минут тупого созерцания экрана в попытке понять, почему Ваше творение падает на ровном месте либо ведет себя в высшей степени загадочно. НЕправильно: char * buf; buf = (char*)malloc(/*много-много байт*/); buf[0] = some_value; Правильно: char * buf; buf = (char*)malloc(/*много-много байт*/); if (! buf) { perror(" нет памяти"); exit(1); }; buf[0] = some_value; Если возникшая ошибка такова, что программа/подпрограмма далее выполняться не может, условие проверки на ошибку ЛУЧШЕ писать так, чтобы оно было ИСТИННЫМ, если ошибка ПРОИЗОШЛА, а не наоборот и код строить так, чтобы избегать оборота else в операторе if.
|