Различия между версиями 2 и 3
Версия 2 от 2020-03-22 13:47:24
Размер: 4257
Редактор: Lecture_Uploads
Комментарий:
Версия 3 от 2020-06-08 23:26:24
Размер: 4266
Редактор: Lecture_Uploads
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 1: Строка 1:
== 08_SurveyOfC == = 08.0 (Russian conspect) =

08.0 (Russian conspect)

В си работают такие конструкции как +=, -=, *=, /=, причем левая часть выражения — это место присваивания, а правая присваемое вычисленное значение.

Важно заметить, что также как и в питоне (а точнее в питоне так же си) выражение a+=b; более эффективно чем a = a+b; хотя разница небольшая.

Очень важны операции увеличения на единицу a++; во многих архитектурах это операция аппаратная.

Стоит также знать разницу между b=a++; и b=++a; так как в первом случае мы сначала считаем потом увеличиваем на один, во втором мы сначала увеличиваем a на единицу и только потом присваиваем.

Операция присваивания в языке си имеет возвращаемое значение.

Операция с запятой a = b, c; возвращает первый элемент, перечисленный через запятую.

НО лучше не использовать операцию с запятыми, если без неё можно обойтись.

void если не хотите никого возвращаемого значения или void это такой указатель в котором хранится какой-то адрес, но мы не знаем какого он типа.

Указатель типа void не подвержен адресной арифметике (не можете прибавить 1).

Модификатор static. Если модификатор static стоит перед глобальной переменной, то статическая глобальная переменная не попадает в список глобальных имен.

Также функции, которые мы не хотим экспортировать в другой файл имеют модификатор static то есть они не видны за пределами файла.

Второе назначение, если вы описываете локальную переменную как static она будет размещаться не на стеке, а в памяти.

Напоминаю, что функции возвращают некоторые значения, а вы можете на это “забивать”.

Если вы хотите, чтобы функция могла что-то перезаписать то вам нужно передать не переменную а указатель.

Также существует ситуация как указатель на указатель.

В си фигурные скобки это просто скобки – просто способов объединить несколько операторов. Фигурные скобки можно убрать если оператор один.

Три оператора цикла два типа while и do while с предусловием и постусловием, for. do while встречается редко – единственное применение это цикл по вводу – сначала вводите потом проверяете.

Цикл for 4-х компонентный – инициализация, условие, тело и изменение – он полноценный.

Оператор switch не стандартный так как у него не одна ветка в отличии от других операторов.

Помните, что в си: перевод строки это отдельный символ, пока вы его не нажмете, ввод не обрабатывается, если при воде произошел конец файла то EOF что по договорённости -1.

HSE/ProgrammingOS/08_SurveyOfC/Conspect (последним исправлял пользователь Lecture_Uploads 2020-06-08 23:26:24)