p = &i; // & ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
// ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π°Π΄ΡΠ΅ΡΡ
*p = i; // * ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
// ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
int &r2 = *p; // & Π² ΡΠ°ΡΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ; * - ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ & ΠΈ * ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠΈΠΏΠΎΠ². Π Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ½ΠΎΠΌ ΡΠΌΡΡΠ»Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠΈΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½Π΅Π΅ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ ΡΡΠΈΡΠ°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ.
ΠΡΠ»Π΅Π²ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΠΡΠ»Π΅Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (null pointer) Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½ΡΠ»Π΅Π²ΡΠΌ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
int *p1 = nullptr; // ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ int *p1 = 0;
int *p2 = 0; // Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ p2 Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠΉ
// ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ 0, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ #include cstdlib
int *p3 = NULL; // ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ int *p3 = 0;
ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π» nullptr, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½ Π½ΠΎΠ²ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ. ΠΠΈΡΠ΅ΡΠ°Π» nullptr ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 2.1.2) Π² Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠ»ΠΎΡΠ½ΡΠΉ ΡΠΈΠΏ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠΌ 0, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ p2.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠΎ ΡΡΠ°ΠΆΠ΅ΠΌ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° (preprocessor variable) NULL, ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ cstdlib ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ°ΠΊ 0.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 2.6.3, Π° ΠΏΠΎΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ (preprocessor) β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ, ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ std, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, Π±Π΅Π· ΠΏΡΠ΅ΡΠΈΠΊΡΠ° std::.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°ΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ NULL ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° Π΅Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 0. Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π‘++ Π²ΠΎΠΎΠ±ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ NULL ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π΅ Π»ΠΈΡΠ΅ΡΠ°Π» nullptr.
ΠΠ΅Π»ΡΠ·Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° int ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ 0.
int zero = 0;
pi = zero; // ΠΎΡΠΈΠ±ΠΊΠ°: Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° int ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
Π‘ΠΎΠ²Π΅Ρ. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Π²ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΠΠ΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ β ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΌΡ ΠΎΡΠΊΠ°Π·Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΈΡΠΊ ΠΏΡΠΈΡΠΈΠ½ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΄Π½ΡΠΌ.
Π£ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±ΠΈΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π³Π΄Π΅ ΠΎΠ½ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ Π°Π΄ΡΠ΅Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ β ΡΡΠΎ ΠΏΠΎΠΏΡΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΡΠ»ΠΈΡΠΈΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΎΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ, ΡΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΈΠ· ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π±ΠΈΡΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
ΠΠ²ΡΠΎΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠΉΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ. ΠΡΠ»ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΅ΡΠ΅ Π½Π΅Ρ, ΡΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ nullptr ΠΈΠ»ΠΈ 0. Π’Π°ΠΊ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΠ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΈ ΡΡΡΠ»ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΡΠΏΠΎΡΠΎΠ±Π΅, ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ. Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΠΎ, ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° β ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°, Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ»ΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½Π° Π±ΡΠ»Π° ΡΠ²ΡΠ·Π°Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ.
ΠΠ΅ΠΆΠ΄Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΡΡ Π² Π½Π΅ΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ Π½Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ (Π½Π΅ΡΡΡΠ»ΠΎΡΠ½ΠΎΠΉ) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΡΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
int i = 42;
int *pi = 0; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ pi ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½, Π½ΠΎ Π½Π΅ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
int *pi2 = &i; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ pi2 ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° i
int *pi3; // Π΅ΡΠ»ΠΈ pi3 ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² Π±Π»ΠΎΠΊΠ΅, pi3 Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½
pi3 = pi2; // pi3 ΠΈ pi2 ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ, Ρ.Π΅. Π½Π° i
pi2 = 0; // ΡΠ΅ΠΏΠ΅ΡΡ pi2 Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°Π΄ΡΠ΅ΡΠ° Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π»ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ. ΠΠ°ΠΆΠ½ΠΎ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΠΎΠΉ Π»Π΅Π²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ pi, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π°Π΄ΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½Π° Ρ ΡΠ°Π½ΠΈΡ:
pi = &ival; // Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ pi ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ; ΡΠ΅ΠΏΠ΅ΡΡ pi ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ival
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ *pi, Ρ.Π΅. Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ pi) ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
*pi = 0; // Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ival ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ; pi Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½
ΠΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈΠΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (ΡΠ°Π·Π΄Π΅Π» 2.1.2), Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0, ΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ.
int ival = 1024;
int *pi = 0; // pi Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
int *pi2 = &ival; // pi2 Π΄ΠΎΠΏΡΡΡΠΈΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°Π΄ΡΠ΅Ρ ival
if (pi) // pi ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ
// ...
if (pi2) // pi2 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ival, Π·Π½Π°ΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ 0;
// ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ
// ...
ΠΡΠ±ΠΎΠΉ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΎΡ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true. ΠΠ²Π° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° (==) ΠΈ Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ²Π° (!=). Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ bool. ΠΠ²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ°Π²Π½Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ, ΠΈ Π½Π΅ΡΠ°Π²Π½Ρ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠ²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ (Ρ.Π΅. ΡΠ°Π²Π½Ρ), Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΎΠ±Π° Π½ΡΠ»Π΅Π²ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ Π½Π° ΠΎΠ±Π»Π°ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π° ΠΊΠΎΠ½ΡΠΎΠΌ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±Π»Π°ΡΡΡ Π·Π° ΠΊΠΎΠ½ΡΠΎΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ. Π’Π°ΠΊΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠ°Π²Π½Ρ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, ΡΡΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΈΠ»ΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 3.5.3.
Π’ΠΈΠΏ void* ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°Π΄ΡΠ΅Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ void* ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°Π΄ΡΠ΅Ρ, Π½ΠΎ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½.
double obj = 3.14, *pd = &obj;
// ok: void* ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°Π΄ΡΠ΅Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
void *pv = &obj; // obj ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°
pv = pd; // pv ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ
Π‘ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ void* Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ: Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΠΈΠ· Π½Π΅Π΅ Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° void*. ΠΠ³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π°Π΄ΡΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ Π½ΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ void* ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΊΠ°ΠΊ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π° Π½Π΅ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Ρ ΡΠ°Π½ΡΡΠ΅ΠΌΡΡΡ Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ void* ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 19.1.1, Π° Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 4.11.3 ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°Π΄ΡΠ΅Ρ, Ρ ΡΠ°Π½ΡΡΠΈΠΉΡΡ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ void*.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π° 2.3.2Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2.18. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2.19. ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ.