diff options
| -rw-r--r-- | ru-ru/c-ru.html.markdown | 16 | 
1 files changed, 8 insertions, 8 deletions
| diff --git a/ru-ru/c-ru.html.markdown b/ru-ru/c-ru.html.markdown index ab4be57e..71e41ee3 100644 --- a/ru-ru/c-ru.html.markdown +++ b/ru-ru/c-ru.html.markdown @@ -11,7 +11,7 @@ lang: ru-ru  Что ж, Си всё ещё является лидером среди современных высокопроизводительных языков. -Для большинствоа программистов, Си – это самый низкоуровневый язык на котором они когда-либо писали, +Для большинства программистов, Си – это самый низкоуровневый язык на котором они когда-либо писали,  но этот язык даёт больше, чем просто повышение производительности.  Держите это руководство в памяти и вы сможете использовать Си максимально эффективно. @@ -170,7 +170,7 @@ int main() {      !0; // => 1      1 && 1; // => 1 (логическое И)      0 && 1; // => 0 -    0 || 1; // => 1 (лигическое ИЛИ) +    0 || 1; // => 1 (логическое ИЛИ)      0 || 0; // => 0      // Битовые операторы @@ -229,7 +229,7 @@ int main() {      switch (some_integral_expression) {      case 0: // значения должны быть целыми константами (и могут быть выражениями)          do_stuff(); -        break; // если не написать break; то управление будет передено следующему блоку +        break; // если не написать break; то управление будет передано следующему блоку      case 1:          do_something_else();          break; @@ -247,7 +247,7 @@ int main() {      // Каждое выражение в Си имеет тип, но вы можете привести один тип к другому,       // если хотите (с некоторыми искажениями). -    int x_hex = 0x01; // Вы можете назначать переменные с помощью шеснадцатеричного кода. +    int x_hex = 0x01; // Вы можете назначать переменные с помощью шестнадцатеричного кода.      // Приведение типов будет пытаться сохранять цифровые значения.      printf("%d\n", x_hex); // => Prints 1 @@ -288,14 +288,14 @@ int main() {      // Для того, чтобы получить значение по адресу, напечатайте * перед именем.      // Да, * используется при объявлении указателя и для получении значения по адресу      // немного запутано, но вы привыкнете. -    printf("%d\n", *px); // => Напечаатет 0, значение перемененной x +    printf("%d\n", *px); // => Напечатает 0, значение перемененной x      // Вы также можете изменять значение, на которое указывает указатель.      (*px)++; // Инкрементирует значение на которое указывает px на единицу      printf("%d\n", *px); // => Напечатает 1      printf("%d\n", x); // => Напечатает 1 -    // Массивы удобно использовать для болшого количества однотипных данных. +    // Массивы удобно использовать для большого количества однотипных данных.      int x_array[20];      int xx;      for (xx = 0; xx < 20; xx++) { @@ -308,7 +308,7 @@ int main() {      // Это работает, потому что при обращении к имени массива возвращается       // указатель на первый элемент.      // Например, когда массив передаётся в функцию или присваивается указателю, он -    // невявно преобразуется в указатель. +    // неяввно преобразуется в указатель.      // Исключения: когда массив является аргументом для оператор '&':      int arr[10];      int (*ptr_to_arr)[10] = &arr; // &arr не является 'int *'! @@ -457,7 +457,7 @@ int area(const rect *r) {  void str_reverse_through_pointer(char *str_in) {      // Определение функции через указатель. -    void (*f)(char *); // Сигнатура должна полность совпадать с целевой функцией. +    void (*f)(char *); // Сигнатура должна полностью совпадать с целевой функцией.      f = &str_reverse; // Присвоить фактический адрес (во время исполнения)      // "f = str_reverse;" тоже будет работать.      //Имя функции (как и массива) возвращает указатель на начало. | 
