summaryrefslogtreecommitdiffhomepage
path: root/ru-ru/c-ru.html.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'ru-ru/c-ru.html.markdown')
-rw-r--r--ru-ru/c-ru.html.markdown16
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;" тоже будет работать.
//Имя функции (как и массива) возвращает указатель на начало.