рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд░реЗ рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЗрди рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдХреЛрдИ рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАрдВ рд╣реИ:
int foo[5]; // foo 5 int
char *foo; // foo char
double foo(); // foo double
рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
char *(*(**foo[][8])())[];
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╕рдордЧреНрд░ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдирд┐рдпрдо рдиреМрд╕рд┐рдЦрд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рднреА рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реАрдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдШреЛрд╖рд┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ)ред
рдореВрд▓ рдФрд░ рд╡реНрдпреБрддреНрдкрдиреНрди рдкреНрд░рдХрд╛рд░
рдЪрд░ рдирд╛рдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШреЛрд╖рдгрд╛ рдореЗрдВ рдПрдХ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдкреНрд░рдХрд╛рд░ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреБрдВрдЬреА рд╣реИред
рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
тАв рдЪрд╛рд░
тАв рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░
тАв рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░
тАв рдЫреЛрдЯрд╛
тАв рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдШреБ
тАв рдЗрдВрдЯ
тАв рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд int
тАв рд▓рдВрдмрд╛
тАв рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд
тАв рддреИрд░рддрд╛ рд╣реИ
тАв рдбрдмрд▓
тАв рд▓рдВрдмреА рдбрдмрд▓
тАв рд╢реВрдиреНрдп
тАв рд╕рдВрд░рдЪрдирд╛ рдЯреИрдЧ
тАв рд╕рдВрдШ рдЯреИрдЧ
тАв рдПрдирдо рдЯреИрдЧ
тАв рд▓рдВрдмреЗ рд╕рдордп рддрдХ
тАв рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рддрдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдореЗрдВ рдХреЗрд╡рд▓
рдПрдХ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ , рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╣реЛрддрд╛ рд╣реИред рдореВрд▓ рдкреНрд░рдХрд╛рд░ рд╡реНрдпреБрддреНрдкрдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдкреВрд░рдХ рд╣реИрдВ, рд╕реА рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рддреАрди рд╣реИрдВ:
1)
* - рд╕реВрдЪрдХ рдХреЛ ...рдпрд╣ * рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕реВрдЪрдХ
рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред
2)
[] - рдХреА рдПрдХ рд╕рд░рдгреА ...рдПрдХ рд╕рд░рдгреА рдЖрдпрд╛рдо рд░рд╣рд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ - [], рдпрд╛ рдпрд╣ рдЖрдпрд╛рдореА рд╣реЛ рд╕рдХрддреА рд╣реИ [резреж]ред рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгреА рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкрдврд╝рддреЗ рд╕рдордп рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ (рдЖрдорддреМрд░ рдкрд░ рд╕рд░рдгреА рдХрд╛ рдЖрдХрд╛рд░ рдЕрднреА рднреА рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рд╕рд░рдгреА рд╣рдореЗрд╢рд╛ рдПрдХ "рдХреБрдЫ рдХреА рд╕рд░рдгреА" рд╣реЛрддреА рд╣реИред
3)
() - рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рджреЗрддрд╛ рд╣реИ ...рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдХреЛрд╖реНрдардХ () рдХреА рдПрдХ рдЬреЛрдбрд╝реА рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдЕрдВрджрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдореЙрдбрд▓ рд╣реЛрдВрдЧреЗред рдорд╛рдкрджрдВрдбреЛрдВ (рдпрджрд┐ рдХреЛрдИ рд╣реЛ) рдХреА рд╕реВрдЪреА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рддреА рд╣реИ, рдФрд░ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рд╕рдореВрд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ: рд╕рдореВрд╣ рдХреЛрд╖реНрдардХ рдЪрд░реЛрдВ рдХреЛ рдШреЗрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд╖реНрдардХ рджрд╛рдИрдВ рдУрд░ рд╣реЛрддреЗ рд╣реИрдВред рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдХреБрдЫ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ (рдЬрдм рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╡рд╛рдкрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред , рддреЛ рдпрд╣ рд╕рд┐рд░реНрдл рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рдХрд╛рд░ рд╢реВрдиреНрдп рдХреЗ рдорд╛рди рджреЗрддрд╛ рд╣реИ)
рд╡реНрдпреБрддреНрдкрдиреНрди рдкреНрд░рдХрд╛рд░
рд╣рдореЗрд╢рд╛ рдХреБрдЫ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдпрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рдкреВрд░реНрд╡рд╕рд░реНрдЧ рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ ("рдкрд░", "рд╕реЗ", "рд╡рд╛рдкрд╕")ред рдкрдврд╝рддреЗ рд╕рдордп рдПрдХ "рдкреЙрдЗрдВрдЯрд░" рдХреЗ рдмрдЬрд╛рдп "рдкреЙрдЗрдВрдЯрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдШреЛрд╖рдгрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рдкрдврд╝реЗрдВрдЧреЗред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдСрдкрд░реЗрдЯрд░реЛрдВред
рд▓рдЧрднрдЧ рд╣рд░ рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдСрдкрд░реЗрдЯрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ рдЬреЛ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдЧреБрдгрди рдФрд░ рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рдЬреЛрдбрд╝ рдФрд░ рдШрдЯрд╛рд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ (рдкрд╣рд▓реЗ рдкреНрд░рджрд░реНрд╢рди) рд╣реИ, рдФрд░ рд╕рдореВрд╣рдмрджреНрдз рдХреЛрд╖реНрдардХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ "рд╕рд╛рдорд╛рдиреНрдп" рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд▓рдЧрддрд╛ рд╣реИред , рд▓реЗрдХрд┐рди рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдкрд░ рд╕рдорд╛рди рдирд┐рдпрдо рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ - рд╡реЗ рдХреЗрд╡рд▓ "рд╡рд┐рд╢рд┐рд╖реНрдЯ" рд╣реИрдВ, рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдирд╣реАрдВ рд╣реИрдВред
рдСрдкрд░реЗрдЯрд░реЛрдВ "" рдХреА рд╕рд░рдгреА
[] рдФрд░ "рд╡рд╛рдкрд╕ рд▓реМрдЯрдиреЗ"
() "рд╕реВрдЪрдХ" рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд╛рдлреА рд╕рд░рд▓ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдирд┐рдпрдо рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ:
рд╣рдореЗрд╢рд╛ рдЪрд░ рдирд╛рдо рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ:рдлреВ рд╣реИ .....рдФрд░ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдЦрддреНрдо рдХрд░реЗрдВ:... рдЗрдВрдЯ рдХреА рддрд░рд╣рдмреАрдЪ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЖрдорддреМрд░ рдкрд░ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рдпрдо рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рджрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдПрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдмрд╛рдПрдВ рдШреВрдореЗрдВрдЪрд░ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдВрднрд╡ рд╣реЛ рджрд╛рдИрдВ рдУрд░ рдЬрд╛рдПрдВ, рдЬрдм рддрдХ рдЖрдк рд╕рдореВрд╣ рдХреЛрд╖реНрдардХ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддреЗ рддрдм рддрдХ рдЯреЛрдХрди рдХреЛ рдкрд╛рд░ рдХрд░рдирд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдПрдВред
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдгред
рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ:
->
рд▓рдВрдмрд╛ ** рдлреВ [7];рдЖрдЗрдП рдПрдХ рдпрд╛ рджреЛ рд╣рд┐рд╕реНрд╕реЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдХреЗ, рдЙрдиреНрд╣реЗрдВ
рдмреЛрд▓реНрдб рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рдХреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдФрд░ рдЬреЛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рддрдп рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рд╣рдо рдЙрд╕реЗ
рдкрд╛рд░ рдХрд░ рд▓реЗрдВрдЧреЗ
->
рд▓рдВрдмрд╛ **
рдлреВ [7];
рд╣рдо рдЪрд░ рдирд╛рдо рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:
рдлреВ рд╣реИ ... рдЬреИрд╕реЗ рд▓рдВрдмреЗрд╣рдо рдФрд░ рднреА рдЬреБрджрд╛ рд╣реЛрддреЗ рд╣реИрдВ:
->
рд▓рдВрдмрд╛ **
рдлреВ [7] ;
рдлрд┐рд▓рд╣рд╛рд▓, рдЪрд░ рдирд╛рдо рдПрдХ рдЯреЛрдХрди рдЕрд░реНрде "7 рдХреЗ рдПрдХ рд╕рд░рдгреА" рдФрд░ рдПрдХ рдЯреЛрдХрди рдЕрд░реНрде "рдПрдХ рд╕реВрдЪрдХ" рд╕реЗ рдШрд┐рд░рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдирд┐рдпрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░, рджрд╛рдИрдВ рдУрд░ рдЬрд╛рдПрдВ рдФрд░ рд╣рдорд╛рд░реЗ рд╡рд┐рд╡рд░рдг "7 рдХреА рдПрдХ рд╕рд░рдгреА" рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
foo рдПрдХ
рдкреНрд░рдХрд╛рд░ рдХреА 7 ... рд▓рдВрдмреА рдкреНрд░рдХрд╛рд░ рдХреА рд╣реИ
->
рд▓рдВрдмрд╛ *
* рдлреВ [7] ;
рджрд╛рдИрдВ рдУрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдФрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдирд┐рдХрдЯрддрдо рдЯреЛрдХрди рдПрдХ "рд╕реВрдЪрдХ" рд╣реИред рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ:
рдлреВ 7 рдмрд┐рдВрджреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА
рд╣реИ ... рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рд▓рдВрдмреЗ рд╕рдордп рддрдХ
->
рд▓рдВрдмрд╛ * * рдлреВ [7] ;
рдирд┐рдХрдЯрддрдо рдЯреЛрдХрди рдПрдХ "рд╕реВрдЪрдХ" рднреА рд╣реИ, рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ:
foo рдЯрд╛рдЗрдк
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 7 рдкреЙрдЗрдВрдЯрд░реНрд╕ рдЯреВ
рдкреЙрдЗрдВрдЯрд░реНрд╕ рдЯреВ рд╡реИрд▓реНрдпреВ рдСрдл рд▓реЙрдиреНрдЧ рдЯрд╛рдЗрдк рд╣реИ
рдЦреИрд░, рдпрд╣ рд╕рдм рд╣реИред
рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг
рд╣рдорд╛рд░реЗ рдХреМрд╢рд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдЬрдЯрд┐рд▓ рдШреЛрд╖рдгрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдХрднреА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдШреЛрд╖рдгрд╛ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП)ред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдирд┐рдпрдо рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
->
рдЪрд╛рд░ * (* (**
рдлреВ [] [8]) ()) [];
рд╕рднреА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ "рдЪрд░ рдирд╛рдо ... рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░" рдХреЗ рд╕рд╛рде рдкрдврд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдлреВ рд╣реИ ... рдЪрд╛рд░ рдХреА рддрд░рд╣ ;
->
рдЪрд╛рд░ * (* (**
рдлреВ [] [8]) ()) [];
рдирд╛рдо рдХреЗ рд╕рдореАрдк "рд╕реВрдЪрдХ" рдФрд░ "рд╕рд░рдгреА" рд╣реИрдВ, рд╕рд╣реА рдЬрд╛рдПрдВ:
foo рдПрдХ
рдкреНрд░рдХрд╛рд░ рдХрд╛ ... рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ;
char * (* (**
foo [] [8] ) ()) [];
рд╣рдо рджрд╛рдИрдВ рдпрд╛ рдмрд╛рдИрдВ рдУрд░ рдХреЗ рдЯреЛрдХрди рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд┐рдпрдо рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдВрднрд╡ рд╣реЛ рджрд╛рдИрдВ рдУрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рд╕рдореВрд╣ рдХреЗ рдХреЛрд╖реНрдардХреЛрдВ рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рд╕рдореАрдк рд╣реИ, рдЗрд╕рд▓рд┐рдП рджрд╛рдПрдВ рдЬрд╛рдПрдВред
foo рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА
рд╕рд░рдгреА рд╣реИ ... рдкреНрд░рдХрд╛рд░ рдХреА рдЪрд╛рд░;
->
рдЪрд╛рд░ * (* (*
* рдлреВ [] [8] ) ()) [];
рд╣рдореЗрдВ рд╕рдореВрд╣реАрдХрд░рдг рдХреЛрд╖реНрдардХ рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ рдЖрдЧреЗ рджрд╛рдИрдВ рдУрд░ рдЬрд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рд╣рдо рдмрд╛рдБрдзрдиреЗ рд╡рд╛рд▓реЗ рд╕рдореВрд╣ рдХреЛрд╖реНрдардХ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВ, рддрдм рддрдХ рд╣рдо рдмрд╛рдпреЗрдВ рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред
foo рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛
рд╡реНрдпреВрдЕрд░ рд╣реИ ... рдЯрд╛рдЗрдк
рдЯреВ рдХрд╛ ...;
->
рдЪрд╛рд░ * (* (
* * рдлреВ [] [8] ) ()) [];
рдлрд┐рд░ рд╕реЗ, рдмрд╛рдИрдВ рдУрд░ рдЬрд╛рдПрдВ рдФрд░ "рдкреЙрдЗрдВрдЯрд░" рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред
foo рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреЙрдЗрдВрдЯ рдЯреВ
рдкреЙрдЗрдВрдЯ рдСрдлрд╝ рдЯреВ
рдкреЙрдЗрдВрдЯ рдСрдлрд╝
рдЯреВ рдЯрд╛рдЗрдк рдЪреИрд░ рд╣реИ;
->
рдЪрд╛рд░ * (*
(** рдлреВ [] [8]) () ) [];
рдЬрдм рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ "рдкреЙрдЗрдВрдЯрд░" рдХреЛ рдЬреЛрдбрд╝рд╛, рддреЛ рд╣рдореЗрдВ рдкреЗрдпрд░рд┐рдВрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо "рд╕рдореВрд╣реАрдХрд░рдг рдХреЛрд╖реНрдардХ" рд╕реЗ рдЬреБрдбрд╝реЗ рд░рд╣реЗрдВрдЧреЗред рдЕрдм рд╡реЗ рджрд╛рдИрдВ рдУрд░ "рдлрд╝рдВрдХреНрд╢рди рд░рд┐рдЯрд░реНрди" рдФрд░ рдмрд╛рдИрдВ рдУрд░ "рдкреЙрдЗрдВрдЯрд░" рд╕реЗ рд╕рдЯреЗ рд╣реИрдВред рд╣рдо рджрд╛рдИрдВ рдУрд░ рдЪрд▓рддреЗ рд╣реИрдВред
foo рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд╛рд░ рдмрд┐рдВрджреБрдУрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдПрдХ
рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд▓реМрдЯрдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ ... рдкреНрд░рдХрд╛рд░ рдЪрд╛рд░ рдХрд╛;
->
рдЪрд╛рд░ * (
* (** рдлреВ [] [8]) () ) [];
рд╣рдо рдлрд┐рд░ рд╕реЗ рд╕рдореВрд╣рдмрджреНрдз рдХреЛрд╖реНрдардХ рдореЗрдВ рднрд╛рдЧ рдЧрдП, рдЗрд╕рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд╣рдо рдмрд╛рдИрдВ рдУрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВред
foo рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдХреЗрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рд▓реМрдЯрдиреЗ рд╡рд╛рд▓реЗ
рдмрд┐рдВрджреБрдУрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ;
->
рдЪрд╛рд░ *
(* (** рдлреВ [] [8]) ()) [] ;
рд╕рдореВрд╣реАрдХрд░рдг рдХреЛрд╖реНрдардХ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рдкрд╛рд░ рдХрд┐рдП рдЧрдП рдЯреЛрдХрди рджрд╛рдИрдВ рдУрд░ "рд╕рд░рдгреА" рдФрд░ рдмрд╛рдИрдВ рдУрд░ "рд╕реВрдЪрдХ" рд╕реЗ рд╕рдЯреЗ рд╣реИрдВ, "рд╕рд░рдгреА" рджрд╛рдИрдВ рдУрд░ рд╣реИ, рд╣рдо рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
foo рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИ, рдЬреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд┐рдВрджреБ рд╕реЗ рдмрд┐рдВрджреБ
рд╕реЗ рдЪрд╛рд░ рдХреА
рдУрд░ рд▓реМрдЯрдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рд╕рдВрдХреЗрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреА рдУрд░ рд╕реЗ рдПрдХ
рд╕рд░рдгреА рд╣реИ ;
->
рдЪрд╛рд░ * (* (** рдлреВ [] [8]) ()) [] ;
рдЦреИрд░, рдЖрдЦрд┐рд░реА рдЯреЛрдХрди рдЬреЛрдбрд╝реЗрдВред
foo рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИ рдЬреЛ рдПрдХ рдкреНрд░рдХрд╛рд░реНрдп рдмрд┐рдВрджреБ рд╕реЗ рд╕рдВрдХреЗрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд░реНрдп рдмрд┐рдВрджреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдкрд░ рд▓реМрдЯрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ
рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╕реЗ рдкреЙрдЗрдВрдЯрд░реНрд╕ рддрдХ рд╣реИ ;
рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕рд╣реА рд╣реИред
рд╕рд╛рд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди
рд╕реА рдорд╛рдирдХ рдЕрдореВрд░реНрдд рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдкреНрд░рдХрд╛рд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдПрдХ рдЪрд░ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рдирд╣реАрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рдФрд░
рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХрднреА-рдХрднреА рдпрд╣ рднрдпрд╛рд╡рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
int (* (*) ()) () ;
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрд╡рд╛рдм рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛: "рдЖрдкрдХреЛ рдПрдХ рдЬрдЧрд╣ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЪрд░ рдирд╛рдо рдЦрдбрд╝рд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдирд┐рдпрдорд┐рдд рдШреЛрд╖рдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛"ред рдРрд╕реА рдПрдХ рд╣реА рдЬрдЧрд╣ рд╣реЛрдЧреА, рдФрд░ рдЗрд╕реЗ рдвреВрдВрдврдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рд╕рд┐рдВрдЯреИрдХреНрд╕ рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ:
тАв рдЯреЛрдХрди рдХреЗ рд╕рднреА "рд╕реВрдЪрдХ" рдХреЗ рджрд╛рдИрдВ рдУрд░
тАв рд╕рднреА рдЯреЛрдХрди рдХреЗ рдмрд╛рдИрдВ рдУрд░ "рд╕рд░рдгреА"
тАв рд╕рднреА рдЯреЛрдХрди рдХреЗ рдмрд╛рдИрдВ рдУрд░ "рдлрд╝рдВрдХреНрд╢рди рд░рд┐рдЯрд░реНрди"
тАв рд╕рднреА рд╕рдореВрд╣реАрдХрд░рдг рдХреЛрд╖реНрдардХреЛрдВ рдХреЗ рдЕрдВрджрд░
рдЕрдм рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ "рдкреЙрдЗрдВрдЯрд░ рдЯреВ" рдЯреЛрдХрди рдХрд╛ рдмрд╛рдпрд╛рдВ рд╕реЗрдЯ рдПрдХ рдмреЙрд░реНрдбрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ "рдлрдВрдХреНрд╢рди рд░рд┐рдЯрд░реНрди" рдЯреЛрдХрди рдХрд╛ рд╕рд╣реА рд╕реЗрдЯ рдмреЙрд░реНрдбрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
int (* (* тАв) тАв ()) () ;
рд▓рд╛рд▓ рдмрд┐рдВрджреБ
тАв рд╕рдВрдХреЗрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЪрд░ рдирд╛рдо рдХрд╣рд╛рдБ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕реНрдерд╛рди рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ (рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдВрджрд░)ред рдФрд░ рдлрд┐рд░ рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдФрд░ рдпрд╣рд╛рдБ рд╣реИ:
int (* (* foo) ()) () ;
рд╣рдорд╛рд░реЗ рдирд┐рдпрдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
foo рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░ рд╣реИ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдПрдХ рдЗрдВрдЯ рд╡реИрд▓реНрдпреВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рд╢рдмреНрджрд╛рд░реНрде рд╕реАрдорд╛рдПрдБ / рдиреЛрдЯреНрд╕
рд╡реНрдпреБрддреНрдкрдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рднреА рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рд╡рд╛рдХреНрдп-рд░рдЪрдирд╛ рдХреЗ рдирд┐рдпрдореЛрдВ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЬреЛ рдЧрд▓рдд рд╣реЛрдЧрд╛ (рд╡реЗ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╢рдмреНрджрд╛рд░реНрде рдЧрд▓рдд рд╣реИрдВ)
тАв рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерд▓реЗрдХрд┐рди рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
тАв рд╕рдорд╛рд░реЛрд╣ рд╕рдорд╛рд░реЛрд╣ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗрд▓реЗрдХрд┐рди рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
тАв рд╕рдорд╛рд░реЛрд╣ рдПрдХ рд╕рд░рдгреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗрдлрд┐рд░ рд╕реЗ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
тАв рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ, рдХреЗрд╡рд▓ рдмрд╛рдПрдВ рдЯреЛрдХрди [] рдЦрд╛рд▓реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИC рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ (рдЬреИрд╕реЗ foo [1] [2] [3] [4]) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрдпрд╛рдо рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдмреНрд░реИрдХреЗрдЯ рдЦрд╛рд▓реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
char foo [] рдФрд░
char foo [] [рел] рдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди char
foo [рел] [] рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
тАв рдЯрд╛рдЗрдк рдХрд░реЗрдВ "рд╢реВрдиреНрдп" рд╕реАрдорд┐рдд"рд╢реВрдиреНрдп" рдкреНрд░рдХрд╛рд░ рдПрдХ рдЫрджреНрдо рдкреНрд░рдХрд╛рд░ рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдХреЗрд╡рд▓ "рд╕реВрдЪрдХ" рдФрд░ "рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рд░рд┐рдЯрд░реНрди" рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ "рд╢реВрдиреНрдп рдХреА рд╕рд░рдгреА" рдФрд░ "рд╢реВрдиреНрдп" рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╖рд┐рджреНрдз (рдпрд╛ рдЕрд╕рдВрднрд╡) рд╣реИред
рд╢реВрдиреНрдп * рдлреВ; // рдЕрдиреБрдорддрд┐ рджреА
рд╢реВрдиреНрдп рдлреВ (); // рдЕрдиреБрдорддрд┐ рджреА
рд╢реВрдиреНрдп рдлреВ; // рдирд┐рд╖рд┐рджреНрдз
рд╢реВрдиреНрдп рдлреВ []; // рдирд┐рд╖рд┐рджреНрдз
рдПрдХ рдХреЙрд▓ рдЕрдиреБрдмрдВрдз рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рдирд╛
рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдкрд░, рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдХреЙрд▓рд┐рдВрдЧ рдХрдиреНрд╡реЗрдВрд╢рди рдХреЗ рдлрд╝рдВрдХреНрд╢рди рд╡рд░реНрдгрди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд┐рдзрд┐ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
extern int __cdecl main(int argc, char **argv);
extern BOOL __stdcall DrvQueryDriverInfo(DWORD dwMode, PVOID pBuffer,
DWORD cbBuf, PDWORD pcbNeeded);
Win32 рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдРрд╕рд╛ рдЬреЛрдбрд╝ рдмрд╣реБрдд рдЖрдо рд╣реИ, рдпрд╣ рд╕рдордЭрдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ
рд▓рд┐рдП win32 рдХреЙрд▓рд┐рдВрдЧ рдХрдиреНрд╡реЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЗрдЦ рджреЗрдЦреЗрдВред
рдЬрд╣рд╛рдВ рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдХреЙрд▓рд┐рдВрдЧ рдХрдиреНрд╡реЗрдВрд╢рди рдХреЛ "рдкреЙрдЗрдВрдЯрд░" (рдЯрд╛рдЗрдкрдбрд┐рдл рд╕рд╣рд┐рдд) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЯреЛрдХрди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрдХрд┐рдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░
рд▓реЛрдбрд▓реЙрдлрд╝реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
) рдФрд░
GetProcAddress () рд╣рд╛рд▓ рд╣реА рдореЗрдВ рднрд░реА рд╣реБрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИред
рдпрд╣ рдЕрдХреНрд╕рд░ рдЯрд╛рдЗрдкрдбрд┐рдл рдХреЗ рд╕рд╛рде рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
typedef BOOL (__stdcall *PFNDRVQUERYDRIVERINFO)(
DWORD dwMode,
PVOID pBuffer,
DWORD cbBuf,
PDWORD pcbNeeded
);
...
/* get the function address from the DLL */
pfnDrvQueryDriverInfo = (PFNDRVRQUERYDRIVERINFO)
GetProcAddress(hDll, "DrvQueryDriverInfo")
рдХреЙрд▓ рд╕рдордиреНрд╡рдп рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдЧреБрдг рд╣реИ, рди рдХрд┐ рдПрдХ рдкреЙрдЗрдВрдЯрд░, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдкрдврд╝рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреЙрдЗрдВрдЯрд░ рд╕реЗ рдкрд╣рд▓реЗ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╕рдореВрд╣реАрдХрд░рдг рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдВрджрд░:
BOOL (__stdcall * foo) (...);рдпрд╣ рд▓рд┐рдЦрд╛ рд╣реИ:
рдлреВ __stdcall BOOL рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рд╣реИред
рдкреАрдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд▓рддрд┐рдпрд╛рдБ, рдХреГрдкрдпрд╛ рдкреАрдПрдо рдореЗрдВ рд▓рд┐рдЦреЗрдВред