??
(??
???????
:
C
?
) ??
???? ????????????
?? ???
??????????
?
?????????????
? ??? ??????
??????????
?
??????
? ??????? ??????? ?? ?? ???
????
????
???? ????
??
????????????? ??
????? ??.
[?]
?? ??? ???? ?????? ??????? ????
BCPL
?? ???? ????? ???????????? ?????????? ? ???????? ??
??????? ??????
????? ???. ??? ?? ??? ???? ?? ?????? ????
B
?? ?? ????? ????????? ????
BCPL
???? ? ?? ?? ???? ????? ????? ???????? ??????????
??????
??
????????????? ??
??????? ???. ???? C ?? ??? ???? ????
???? ????
?? ??? ???? B ? BCPL ?? ????????? ?? ???????? ? ????????? ????? ????? ????? ?? ??? ??????? ??? ?? ?? ????? ??. ???? ?? ??? ???? ???? ????? ?????????? ?????? ??????? ??? ??? ????? ???? ?????????????? ???? ??? ?? ???? ???? ??????????. ??? ???? ?? ???? ?????? ????? ???? ? ??? ???? "The C Programming Language" ?? ??? ???? ????
?????? ???????
? ???? ???? ??? ???????? ??? ???? ?? ???? ??.
???????? ?????? ??? ???? ?? ????? ????????? ? ???????????? ????? ???? ?? ?? ???????? ?????? ?? ??? ???? ??????? ??? ?? ?? ?????? ???????? ?????. ?? ??? ????
????? ???????????? ??? ??????
(ANSI) ???????? ????? ?? X3J11 ?? ?? ????? ??? ?? ?? ????? ???? ????? ? ????? ?? ????? ?? ?? ??? ???? ????? ?????. ?? ??? ???? ??? ????????? ??? ?????
ANSI C
?? ????? ???? ? ??? ?? ??? ?????
?????? ?????????? ?????????????
(ISO) ??? ??? ????????? ?? ?????? ? ??????? ????? ???? ??? ????? ANSI/ISO C ????? ?????.
????? ??????
[
??????
]
????? ?????? ?? ???????? ??????? ?? ???
?????
? ?? ????? ???????? ????
???????????? ???? ?????
??? ? ?????? ????? ?????? ?? ?????????? ???????. ????? ??? ??????? ?? ?? ????? ?????? ???????? ??????? ??????. ?? C? ????? ????? ?????? ?? ??? ????????? (?? ≪?????≫ ??? ?????? ???????) ???? ???? (???? ?? ????? ???????????? ??????? ?????? ???? ????). ?????????? ?????? ????? ???? ????? ????? ???????. ??? ???? ???? ?? C ?? ???? ???? ?????? ???????? ????????? ??????. ??? ???? ??????? C ?? ???? ???? ??? ? ?? ??????? ?? ???? ????? ?? ????? ?? ?????? ????? ???? ? ?????? ?????? ???? ????????? ??????? ??????? ??????.
?? ???? ?? C ????????? ???? ?? ?? ?? ???????? ???? ???? ?????? (????? ???????? ????? ? ???????? ?????)? ??? ????? ?? ??????? ?????????? ?? ????? ???? ?????? ?? ??????? ?? ???????????? ????? (?? ????? ????? ????? ????? GLib ?? ???????? ????? Boehm).
????? ?? ???????? ????
[
??????
]
?????? ?? ???????? ???? ?????? ?????? ?? ????????? ?? C ??? ?????????? ?? ???? C ++ , C #? C , Unix's C shell , D? Go , Java , JavaScript (?? ???? ??????????)? Limbo , LPC , Objective-C? Perl , PHP ,
Python
, Rust, Swift, Verilog ? SystemVerilog (???????? ????? ?????????). ??? ??????? ?????? ?? ????????? ?????? ??? ? ???? ????????? ???? ?? ?? C ????? ????????. ????? ????? (?????? ?? ??????? ??????) ??? ??? ?????? ?????? ?? ?? C ???? ???????? ? ????? ????? ????? ????? ? ??? ???? ????? C ?? ?? ??? ????? ????? ????. ????????? ??????? ??????? ? ?????? ?? ????????? ????? ??????? ?? ?????? ????? ?????.
?????? ?????
[
??????
]
???? C ?? ?????
????? ???? ??????
?????? ????? ???? ?? ?? ????? ??
???? ??????
?? ??? PDP-7 ????
???? ????
?
?? ???????
?????????? ??? ? ????? ???? ?? ??????? ?? ???? ????? ???. ???????? ???? ????? ??????
????? ????
?? ?? PDP-11 ????? ????. ???? ???? PDP-11 ?????? ??? ?? ???? ?????? ????? ??? ???.
??????? ??
???? ????????????
?? ???? ????? ?????????? ??????? ???? ????? ???? ???? ????????. ?? ?????? ?? ??? ??? ??
????????
Fortran
?????? ??? ???? ??? ??? ???? ?? ??? ???. ?? ???? ?? ?? ???? ??? ????? ?? ???? ???????????? ?????????
BCPL
?? ?????? ????? ????? ???? ????? ???. ??????? ???? BCPL ?? ?? ???? ????? ???? ? ???????
??? (syntax)
?? ????? ? ????????? ?
B
?? ????? ??? ??? ??????? ????? ?????? ?? ??? ???? ?????? ??????? ??????? ?? B ????? ???? ???? ???? ??? ??? ? B ?????????? ?? ????????? PDP-11 ????? ???? ?????
????
???? ????.
?? ??? ?????
???? ????
???? ?? ????? B ???? ?? ???? ?? ????? ???? ???? C ??. ???????? C ? ???? ?? ?????????? ??????? ????? ??? ?? ?? ?? ???? ? ?????? ??????? ??? ???. ?? ???? ? ??????? ?? ?? ?????? ???? ????? ??? ???? ?????? ?????? ????????? ?? C ?????? ???? ??. ?? ??? ????? ???? C ????????? ???????? ????? ????? ?????? ?? ?? ??? ????? ???.
?? ??? ????? ?????? ??????? ? ???? ???? ??? ??? ???? ???? ???????????? C ?? ????? ?????. ??? ???? ?? ?? ????? K&R ???? ?????? ?????? C ?????? ??? ???? ????? ?? ????? ?????? ??????? ???? ???? ??????? ???? ????. ???? C ?? ????? ?????? ??????? ?? ????? "K&R C" ?????? ??????. ??? ??? ???? ???? ????????? ???? ANSI C ??? ?? ?? ??? ??? ???? ??? ???.
ANSI C and ISO C
[
??????
]
?? ????? ??? ???? ? ????? ???? C ???? ??? ????????? ?? ?????????? ????? ???? ?????? ? ????? ????????? ?? ???? IBM PC ?????????? ??? ???? ??????? ?? ?? ????? ???? ????? ?????? ????.
?? ??? ?????
????? ????????? ??? ?????? (ANSI)
????? ?? ?? ??? X3J11 ????? ??? ?? ?????? ????????? C ?? ????? ???. X3J11 ?????? ????????? C ?? ??? ????? ??????? ?? ??? ???? ??? ??????? ??? ?? ???????? ?????? C ?? ???? ???? IEEE 1003 ?????? ?? ?? ???? ?? ???? ????????? POSIX 1988 ????. ?? ??? ????? ????????? C ?? ????? ANSI X3.159-1989 "???? ?????? ????? C" ????? ??. ??? ???? ?? ???? ???? ?? ????? ANSI C? ????????? C ?? ???? ????? C89 ???? ??????.
?? ??? ????? ?????????
ANSI C
(?? ??????? ???? ????) ???? ?????? ?????????? ????????????? (ISO) ?? ????? ISO / IEC 9899: 1990 ????? ??? ?? ???? C90 ??? ?????? ??????? ????????? ???????? "C89" ? "C90" ?? ???? ???? ???????????? ????? ?????.
????????? C ?? ????? ??? ???? ??????? ?? ? ???? ?? ?????? ISO / IEC 9899: 1999 ?? ???? ??? ?? ??????? ?? ?? "C99" ???? ??????. ?? ?? ???? ?? ??? ???? ??????? ??? ????? ??? ???.
C99 ????? ????? ???? ?? ???? ????? ???? ???? ?????
??? ????
???? (?? ???? int long long ? ?? ??? ????? ???? ???? ????
????? ?????
)? ????????? ?? ??? ????? ? ????? ????? ???????????? ???????? ????? ????? ?? IEEE 754 ???? ?????? ???????? ?? ????? ????? ?? ????? ???? ? ???????? ?? ????? ?? ??? ?? ?? // ???? ??????? ????? BCPL ?? C ++. ?????? ?? ??? ????? ????? ?? ????? ????? ?? ????? ???????? C ???? ??? ?????.
C99 ?? ???? ????? ?? C90 ??????? ???? ????? ??? ?? ???? ???? ?????? ???. ?? ????? ????????? ?? ???? ?? ???? ????? ??? ???? ???? ?????? ???? ??? ??? ???. ?? ???? ????????? __STDC_VERSION__ ?? ????? 199901L ????? ??? ??? ?? ???? ??? ?? ???????? C99 ?? ????? ???. GCC , Solaris Studio ? ???? ??????????? C ????? ?? ?????? ?? ????????? ???? C99 ???????? ???????. ???????? C ?? ++Microsoft Visual C? ????????? C89 ? ????????? ?? C99 ?? ?? ???? ??????? ?? C ++ 11 ???? ???? ?????????? ??????.
?? ??? ????? ??? ?? ??? ????? ??? ?? ???? ????????? C? ?????? ??????? ?? ??? "C1X" ?? ?????? ???? ?? ?? ????? ????-??-?? ???? ??. ????? ????????? C ??????????????? ?? ???? ????? ???? ??????? ?? ????????? ???? ?? ???? ?????????? ????? ?????? ????????? ????? ???? ???.
????????? C11 ????? ????? ???? ?? C ????? ?????? ? ????????? ?? ???? ????? ??? ?????? ????????? ??????? ???????? ????? ????? ??????? ?????? ????? ??? ??????? ? ????????? ????? ??? ?? ????? ??????. ?????? ???? ?? ??????? ????? ?? ???????? C99 ?? ?? ??????? ????? ???? ? ??????? ?? ++C ?? ????? ???????. ???? ????????? __STDC_VERSION__ ?? ????? 201112L ????? ??? ??? ?? ???? ??? ?? ???????? C11 ?? ????? ???.
C18 ?? ???? C17 ?? ?????? ?????? ?? ??? ???? ????? ? ?? ???? ??? ???? ????? ??? ????????? ???? ???? ???????????? C ???. ??? ????? ??? ????? ???? ???? ?????? ??? ??????? ??? ? ????????? ?? ???? ??? C11 ?? ????? ??????. ???? ????????? __STDC_VERSION__ ?? ????? 201710L ????? ??? ???.
????? ???????
[
??????
]
????????
[
??????
]
??? ?? ???????? ?????????? ???? C? ????? ??????? ?? ????????????. ?????????? ??????? ???? ?
????????????
?????? ?? ????? ?????????. ????? ?? ????? ????? ????? ????? ????? ??????? ????????? ?????? ? ??????? ???? ?????? ??? ?????? ?? ????? ??????? ???? ???? ?????? ???? ???? ????? ???? ?????????? ???????. ?? ???? ????? ?? ??? ??????? ?? ?????????? C ???? ??????? ???????. ??? ?? ?? ???? ??? ?? ?????????? ???? ??? ? ??? ????????? ?? ?? ???? ??????? ??? ??? ???? ????? ??? ?? ????? ??? ?? ???? ?? ????? ??????? ????? ???? ? ????? ?????? ?????? ???????.
???????? ?????
[
??????
]
??? ?????? ?????? ?? ????? ???? ?????????? ?????? ?? ??? ?? ??????? ?????? ????? ???? ??????? ?? ??? ????? ???. ???? ?? ?????? ????? ??? ????? ?? ???? ??? ????? ???? ????? ???? ???? ?? ?? ?? ?????? ?????? ? ???? ?????? ????? ????? ???? ?? ??????? ?????? ????? ???. ?? ?? ?? ?? ????? ?? ???? ??? ????? ?? ??? ??????? ?????? ?????? ?????? ?? ?????? ???????.
??? ???? ???? ?????? ?? ??? ???? ???? ????? ?? ?????? ??????????? ???? ???? ?? ?? ???? ?? ??????? ?? ??? ????? ???? ????. ?? ???? C? ?? ????? ??????? ???? ?? ????? ?? ?? ?????? ???? ? ?????? ?? ?? ????? ????? ???? ?? ?? ???? ????? ???? ?? ?? ???? ????????? ?? ??? ??????? ??? ????.
???? ??? ????? ?? ????? ???????? ??????? ???????. ????? ????????? ?????? ??? ?? ?????? ?? ???? ?? ????? ???? ???.
????????
[
??????
]
?????? ?? ????? ??? ?????? ?? ??????????? ???? ?? ??????? ?? ????? ????? ????? ???? ??????? ????? ??? ??????? ????? ? ?? ???
??? ????????
?? ???? ??????? ????? ????? ?? ?? ????? ???? ?????. ????? ??? ?? ????? ?? ???? ????? ? ?? ??????? ??????? ???? ??? ? ??????????? ? ????? ????? ????. ?? ???? ???? ?? ???? C ??????? ???????? ??? ?? ?????? ????? ??????? ????? ?? ?? ??? ?? ?? ????? ????? ???.
?? ??? ??????? ?? ?? ????? ??? ?? ?? ???? ???????? ? ???? ?? ?? ??? ????? ????? (Array) ????????. ???????? ????????? ????? ????? ????? ? ?????? ????????? ?? ????? ??? ???????. ???????? ?? ?? ????? ???? ???? ???? ?? ???? ?? ?????? ??
?????
??????? ???????? ?? C ??? ???? ???? ???? ?? ????? ??? ?? ????? ??????? ??????.
???????? ?? ?????? ??????? ????? ???? ?????? ? ???? ? ??? ???? ???? ??? ?? ??????? ?? ?????? ? ?? n-1 (?? n ????? ?????????) ??????????? ??????. ?? ???? ?? ??? ???? ??? ???. ???? ???? ??? ?? ?????? ???? ?? [] ???? ???????. ???? ????? ????? ??????? ????? ??? ???? ???.
???????? ?? ???? ?? ??
?????? ??????
???????? ????? ??? ?? ?? ???? ????????. ??????? ?? ???? ?? ??????? ??? ????? ??? ???? ????? ?? ???? ??? ??? int ?? ???? ????? ??? ?????? array? ?? ?? ?? ???? ?? ????? ????? ????? ???. ??? ?? ??????? ??? ?? ?? ???? ???????? ????? ?????? ??? ?? ?? ??? ?????????? ?? ??? ??????.
?????? ?????
[
??????
]
??? ?? ???????? ????????? ?? ???? ????????????? ????? ????? ???????? ????
?????? ?????
? ?????? ??? ?? ?? ????? ????? ???????. C ?? ??? ???? ???? ?????? ????? ???? ????? ????? ??????:
- ????? ????? ???????
: ????? ???? ??? ?? ???? ??????? ?? ?????? ????? ??????. ??? ????? ?? ????? (??
??? ???
) ????? ?? ????? ?? ?????? ?? ???? ???? ??? ?? ????? ???????? ???.
- ????? ?????? ?????
: ????? ????? ?? ??????? ?? ???? ????? ??? ? ?? ?? ???? ??? ?? ????? ?? ?? ?? ????? ??? ???? ??? ???? ?????? ?????? ???? ? ???? ??????? ???? ??????.
- ????? ????? ????
: ???????? ????? ?? ?????? ?????? ?? ??????? ?? ???? ???? ?? ??????? ?? ????? ???????? ????? malloc ?? ????? ?? ?? ????? ?? ??? ???? ??????? ???. ??? ??????? ?? ????? ?? ?? ??????? ???? ?? ?????? ???? ???????? ?? ?????? ???? ????? ???? ??????? ???? ???? ???????
- ????? ????? ??????
: ???? ????? ????????? ?? ???
????
????? ????? ??? ???? ?????? ???? ??? ?? ???? ?? ???? ???????? ?? ?? ???? ??? ?? ????? ?? ???? ?? ???? ????? ???????? ???? ? ?????? ???? ??????? ????? ???.
- ????? ????? ????
: ?????????? ??????? ?? ???????? ????? ????????? ???? ????? ??????????? ?????? ???? ()malloc ?? ???????? ?? ?? ????? ??
???
?? ????? ????? ?????? ??????? ????. ??? ???????? ????? ?? ???????? ???? ???? ()free ?? ????? ?????????? ????? ?? ????? ???? ????????. ???? ????? ????? ?? ???? ???? (???????) ???? ???? ???? ???????? ?? ???? ???? ()malloc ????? ?????? ?? ?? ??
????? ??
????? ????.
??? ?? ?????? ?? ????????? ????? ????? ??? ? ????? ????? ?????? ???. ?? ????? ????? ????? ????? ??????? ?????? ??? ?? ????? ????? ????? ?????? ???? ??? ??? ????? ?? ????? ???? ? ????? ????? ???? ?????? ?????? ???????? ????? ????? ?? ????? ?? ???? ????? ? ??????? ????? ????. ????? ?????? ????? ??????? ???? ??? ??????? ???? ?? ??? ???????????? ??????? ???? ???? ????? ?????? ?? ????? ???? ??????? ??? ??? ???? ???? ??????? ????? ??????? ? ???? ?? ????? ??????? ?? ???? ???? ??? ? ????? ????? ???? ????? ????? ????? ????? ?? ?????? ?? ?????? ??? ?? ???? ???? ?????? ??? ???. ????? ?????????? C ?? ?? ?? ???? ??????? ????????? ???????.
?? ???? ?????? ????? ???????? ?? ??????? ??????? ????????? ??? ???? ?????????? ???? ???????? ????? ??????? ? ??????????? ?? ?? ??? ???? ?????? ??? ?? ?????? ? ???? ???? ???? ?????????? ???? ??????. ?? ??? ???? ?????? ?? ????????? ???? ????????? ?? ???? ???? ????? ???? ? ?? ???? ?? ????? ??????? (? ????? ?????? ??? ?? C99) ???? ?? ???? ??????? ?????? ???? ????? ????? ?????????? ?????? ???? ???? ?? ????? ???? ???? ???. ??? ?? ????????? C99? ????????? ?????? ????? ????? ?????? ??? ??? ?????. (?? ????? ???? ?? ????????? ?????? ???? ??? ???? ?? ????? ?? ???? malloc ?????? ????) ?????? ????? ??????? ?? ???????? ?? ???? ???? ?? ????? ????? ???? ?? ??? ?????? ????????? ????? ???? ????? ?????????? ???? ????? ????? (?? ???? ????? ????? ?? ???) ?? ????????????. ???????? ?????? ??? (??? ?? ????? ?????? ??? ?????? ????? ?? ?? ???? ???? ??????? ???? ???? ????? ?? ???? ????? ???? ??????)
??? ?? ?????? ?? ???? ??? ????? ????? ??????? ???? ?????? ?????? ??? ?? ??? ????? ???? ?????? ?????. ????? ?????? ???? ??? ?? ???? ?????? ? ???? ??? ??????? ????? ??????? ?? ????? ????? ?????? ???? ???. ?? ??? ??? ???? ???? ?? ????? ?????? ???? ??????? ????? (?????? ?????? ?? ????? ???? ?? ?? ?? ????? ??????? ??? ???? ??? ?? ????? ????? ???? ?? ??? ?????? ????). ??? ?????? ??? ??? ?? ?? ????? ???????? ?????? ???? ???? ????? ???? ????. ?????? ?? ??????????? ???? ??? ?? ??? ? ????? ??????? ??? ???? ?????? ??? ?? ???????? ???? ? ?? ???? ???? ???????? ?? ???.
????? ???? ??? ??? ?? ????? ????? ???? ???? ?? ?????? ????? ?? ?? ?? ?????? ????? ???? ??? ?? ?? ??????? ???? ?? ?? ?? ?? ????? ??????? ???. ?? ????? ????? ??? ???? ????? ?? ???? ?????
????? ?????
?? ?????? ???? ??? ?? ????? ?? ?? ??? ?? ???????? ???????? ???? ???? () ???????? ???? ?? ?? ?? ????? ???? ??????? ???? ???? ???? ??????? ???? ? ?? ??? ???? ?????? ?? ??? ??????? ????? ?? ????? ?? a ??? ????? ?? ?????? ????? ???????? ????? ???? ???? ??? ?????? ?? ?? ?????? ?????? ? ???? ?? ????? ??????? ???????? ??????. ?????? ?????? ????? ?? ???? ?? ?????? ?? ??? ?? ???? ????? ???? ???????? ? ?????? ???? ?? ????? ??????. (???? ?????? ?? ???????? ?? ???????? ????????? ???????? ????? ????? ????? ???)
????? ???????????
[
??????
]
C ????? ?????? ??? ?? ?? ??? ????? ???????? ? ????? ??????????? ?????? ???????. ?? ???? ?????????? ?? ?? ?????? ????? ? ?? ???? ????????? ???? ??????? ???? ???????? ?? ???? ????? ????? ????? ????? ???????? ?? ?? ???? ??? ??? ????????.
???? ???????????? C ?? ??????????? ?? ????? ??? ???? ????? ?? ??????? ??????. ?? C? ?? ???????? ?????? ?? ?? ????? ????? ?? ?? ?????? ≪???????≫ ???. ?? ???????? ?????? ????? ????? ?? ???? ??? ???? ?? ???? ????????? ????? ????? ????? ?? ???????? ??? ?? ???? ??? ???? ?? ?????? ???? ??????? ???? ????? ? ??????? ????? ???????? ??? ? ??????? ???? ???? ??????? ?? ??? ?????. ???? ????? ?? ?????? ?? ???????? ??????? ???? ???? ?????? ?????? ???????? ?? ???? ???? ? ???????? ???? ?? ?????? ?? ?????? ????? ?? ?? ?????? ????? ?? ???????? ???????? ?????? ????.
????????? ???????? C?
???????? ????????? C
??? ?? ???? ???????????? ISO ? ANSI C ???? ??? ??? ? ????? ?? ????? ?? C (?????????? ?? ???????? ????? ????? ????????? ?????? ??? ?? ??? ???? ???????? ???? ???????? ??? ?????? ?? ?? ???????? ????????? ?? ????? ???). ??? ???????? ?? ????? ? ????? ?????? ????? ?????? ???????? ???????? ??????? ? ?????? ????? ???????? ??????. ????? ??? ????????? ??????? (?? ????? ???? stdio.h) ???????? ??? ? ???? ??????? ???????? ????????? ?? ???? ??????.
?????? ???? ????? ?? ????? ???????? C ?????? ??? ?? ???? ??????????? ?? ????? ????????? ?????? ?
??? ??????
?????? ?? ???? ?????? ?? ???? ?????? ???? ?? ??? ???? ??????? ???? ??????? ???? ???????. ??? ???????? ?? ???????????? ?????? ?? ???? POSIX ? ?????? UNIX ?? ?? ????? ??? ???? ??? ???.
?? ???? ?? ?????? ?? ????????? ?? ???? C ????? ???????? ????? ?????? ?? ???????????? ???? ?? ????? ?????. ??????????? ?????? ?? ???? C ????? ???????? ???? ??????????? C ?? ???? ?????? ?? ????? ???????. ?????? ?????? ??? ????????? ?? ???? ???????? ????? ??????? ?? ??????? ?? ???????? ??? ?????? ????? ????? ??? ? ?????? ??????? ????.
??????? ?????
[
??????
]
?? ??????? ??? ? ?? ???? ???????
???????????? ??????
???? ????? ?? ???? C ???? ++C ????
???????? ???????????
?? ????? ???? ?? ????????????? ?? ????? ????. ?? ++C ????? ?? ??????? ????? ????? ???????? ??? ?? C ????? ??? ???.
?? ????? ???? ? ???????? ???? ?? ????? ????? ?? ?? ?????????? ?? ??????? ?? ??? ??
?????
? ??
??????????
??????? ???? ????. ????
??? ????????????
?? ??? ???? ?????? ????
????
?? ??????? C ? ++C ????? ??? ?? ???????? ?? ?? ?? ??? ????? ??????? ?????? ? ?????????? ????? ??? ?? ?? ?? ??? ?? ????????? ?? ?? ???? ???????? ??? (??????? ???? ????????? ?????? ???) ???? ???? ???????.
???????? ??????
[
??????
]
????? ?? ?????
[
??????
]