C: відмінності між версіями
Перейти до навігації
Перейти до пошуку
Рататуй (обговорення | внесок) мНемає опису редагування |
MiskoGe (обговорення | внесок) м (Відкинуто редагування Myrkit Stepan (обговорення) до зробленого Petrovych.php) Мітки: Замінено Відкіт |
||
| (Не показані 7 проміжних версій 5 користувачів) | |||
| Рядок 1: | Рядок 1: | ||
{{ | {{Stub}} __NOTOC__ | ||
'''С''' ''(Сі, сіся)'' - процедурна мова програмування, розроблена Кеном Томпсоном для написання ОС Unix. Саме у цієї мови спиздили синтаксис [[PHP]], [[Perl | '''С''' ''(Сі, сіся)'' - процедурна мова програмування, розроблена Кеном Томпсоном для написання ОС Unix. Саме у цієї мови спиздили синтаксис [[PHP]], [[Perl]], [[Java]] і всі-всі-всі. | ||
== Короткий огляд == | == Короткий огляд == | ||
=== Коментарі === | |||
===Коментарі=== | |||
*<code>//комент</code> - до кінця рядка | *<code>//комент</code> - до кінця рядка | ||
*<code>/*комент*/</code> - від ''/*'' до ''*/'' | *<code>/*комент*/</code> - від ''/*'' до ''*/'' | ||
===Типи=== | === Типи === | ||
Типізація - статична. | Типізація - статична. | ||
*Числові: int, float, double... | *Числові: int, float, double... | ||
| Рядок 14: | Рядок 13: | ||
*Логічні: bool | *Логічні: bool | ||
===Реалізації=== | === Реалізації === | ||
*GCC | *GCC | ||
*Turbo C | *Turbo C | ||
*TCC | *TCC | ||
===Діалекти=== | === Діалекти === | ||
*«K&R» C | *«K&R» C | ||
*ANSI C | *ANSI C | ||
| Рядок 27: | Рядок 25: | ||
== Переваги == | == Переваги == | ||
*Дуже підходить під написання [[ОС]] і компіляторів. [[Лінукс]], [[Windows|Віндовс]] написані на ньому. | *Дуже підходить під написання [[ОС]] і компіляторів. [[Лінукс]], [[Windows|Віндовс]] написані на ньому. | ||
*Достатньо проста для новачка. | *Достатньо проста для новачка. | ||
*Відносно невелика кількість коду. <ref>Відносно, наприклад, Pascal'я</ref> | *Відносно невелика кількість коду. <ref>Відносно, наприклад, Pascal'я</ref> | ||
== Недоліки== | == Недоліки == | ||
*Багатьом не подобається синтаксис. <ref>Безкінечні '}}}}}' та інше гівно.</ref> | *Багатьом не подобається синтаксис. <ref>Безкінечні '}}}}}' та інше гівно.</ref> | ||
*Багато елементів Сі - потенційно небезпечні. | *Багато елементів Сі - потенційно небезпечні. | ||
| Рядок 42: | Рядок 38: | ||
**Йобнута реалізація масивів через ці самі вказівники, завдяки чому кулхацкер може легко проникнути в систему, наприклад. | **Йобнута реалізація масивів через ці самі вказівники, завдяки чому кулхацкер може легко проникнути в систему, наприклад. | ||
== | == Див. таож == | ||
*[ | * [[C++]] | ||
*[ | * [[C Sharp]] | ||
== Примітки == | == Примітки == | ||
{{reflist}} | {{reflist}} | ||
{{Айті|що=int main(){return 0;} }} | |||
{{Айті}} | |||
Поточна версія на 17:40, 22 листопада 2022
С (Сі, сіся) - процедурна мова програмування, розроблена Кеном Томпсоном для написання ОС Unix. Саме у цієї мови спиздили синтаксис PHP, Perl, Java і всі-всі-всі.
Короткий огляд
Коментарі
//комент- до кінця рядка/*комент*/- від /* до */
Типи
Типізація - статична.
- Числові: int, float, double...
- Символьні: char
- Логічні: bool
Реалізації
- GCC
- Turbo C
- TCC
Діалекти
- «K&R» C
- ANSI C
- C90
- C99
Переваги
- Дуже підходить під написання ОС і компіляторів. Лінукс, Віндовс написані на ньому.
- Достатньо проста для новачка.
- Відносно невелика кількість коду. [1]
Недоліки
- Багатьом не подобається синтаксис. [2]
- Багато елементів Сі - потенційно небезпечні.
- define true false;
- define private public
- define TRUE (rand() > 0.1 ? TRUE : FALSE)
- Наявність вказівників*, які дозволяють змінювати не тільки значення змінних в пам'яті, але й сам програмний код
- Йобнута реалізація масивів через ці самі вказівники, завдяки чому кулхацкер може легко проникнути в систему, наприклад.
Див. таож
Примітки
| |||||||||||||||||||