{
//β¦
}
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ virtual ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ² ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° (ΡΠΌ. Β§R.10.2).
R.7.1.3 Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ typedef
ΠΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ typedef Π·Π°Π΄Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΡΠΈΠΏΠΎΠ². Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ typedef Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ-ΡΡΠ½ΠΊΡΠΈΠΈ (Β§R.8.3).
ΠΈΠΌΡ-typedef:
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
Π ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (Β§R.3.2) ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ typedef Π»ΡΠ±ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠΎΡΠ²Π»ΡΡΡΠΈΠΉΡΡ Π² ΡΠ°ΡΡΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΌ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΈΠΏ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π΄Π°Π½Π½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² Β§R.8. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠΌΡ-typedef ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΎΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° (Β§R.9.1) ΠΈΠΌΡ-typedef Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
typedef int MILES, *KLICKSP;
ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ
MILES distance;
extern KLICKSP metricp;
ΡΠ²Π»ΡΡΡΡΡ Π·Π°ΠΊΠΎΠ½Π½ΡΠΌΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ, ΡΠΈΠΏ distance Π΅ΡΡΡ int, Π° Ρ metricp ΡΠΈΠΏ "ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° int".
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ typedef ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΠΌΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΠΎΠΏΡΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ ΡΠΈΠΏ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΡΡΡΠ»Π°Π»ΠΎΡΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π΄Π°ΠΆΠ΅ Π² ΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΈΠΏ Π±ΡΠ» ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
typedef struct s {/*β¦ */} s;
typedef int I;
typedef int I;
typedef I I;
ΠΠ΅Π·ΡΠΌΡΠ½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² typedef, ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² typedef, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
typedef struct {/*β¦ */} S; // ΠΈΠΌΡ ΡΡΡΡΠΊΡΡΡΡ ΡΡΠ°Π»ΠΎ S
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ typedef Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΠΌΡ ΡΠΈΠΏΠ°, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² ΡΡΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
class complex {/*β¦ */};
typedef int complex; // ΠΎΡΠΈΠ±ΠΊΠ°: ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π½Π΅Π»ΡΠ·Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΈΠΏΠ°, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² ΡΡΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π» Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
typedef int complex;
class complex {/*β¦ */}; // ΠΎΡΠΈΠ±ΠΊΠ°: ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
ΠΠΌΡ-typedef, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠ»Π°ΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ-ΠΊΠ»Π°ΡΡΠ° (Β§R.9.1). Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ²: class, struct ΠΈ union, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΈΠΌΠ΅Π½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠΎΠ² Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
struct S {
S();
~S();
};
typedef struct S T;
S a = T(); // Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ
struct T* p; // ΠΎΡΠΈΠ±ΠΊΠ°
R.7.1.4 Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠΈΠΏΠ°
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ (ΡΠΌ. Β§R.14).
R.7.1.5 Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ friend
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ friend ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° (ΡΠΌ. Β§R.11.4).
R.7.1.6 Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΈΠΏΠ°
Π ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ° ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΡΠΈΠΏΠ°:
ΠΈΠΌΡ-ΠΏΡΠΎΡΡΠΎΠ³ΠΎ-ΡΠΈΠΏΠ°
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΠΊΠ»Π°ΡΡΠ°
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ-ΡΠΈΠΏΠ°
:: ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°
const
volatile
ΠΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΡΠ»ΠΎΠ²Π° const ΠΈ volatile ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π»ΡΠ±ΠΎΠΉ Π·Π°ΠΊΠΎΠ½Π½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ-ΡΠΈΠΏΠ°. ΠΠΎ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ-ΡΠΈΠΏΠ°. ΠΠ±ΡΠ΅ΠΊΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ const ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π½ΠΎ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ. ΠΠ±ΡΠ΅ΠΊΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ const, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ Π½Π΅ Π±ΡΠ» ΡΠ²Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ ΠΊΠ°ΠΊ extern, Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ (Β§R.8.4, Β§R.12.1). Π¦Π΅Π»ΠΎΠ΅ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ const, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ-ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ, ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ-ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ (Β§R.5.19). ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ const ΠΈΠΌΠ΅Π΅Ρ ΡΡ ΠΆΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ const ΡΠ°ΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ const (Β§R.9.3.1). ΠΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° Π±Π΅Π· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈΠ»ΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ const, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ Π² ΠΏΠ°ΠΌΡΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΡΡΠ΅Π½ΠΈΡ. ΠΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΡΠ±ΡΡ ΡΠ°ΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΎΠ±ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΈΠ»ΠΈ ΠΏΡΠΎΠΉΠ΄Π΅Ρ Π±Π΅ΡΡΠ»Π΅Π΄Π½ΠΎ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΠΈΠΌΠ΅Π» ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ const.
ΠΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ Π·Π°Π²ΠΈΡΡΡΠ΅Π³ΠΎ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ volatile. ΠΠ½Π° ΡΠ»ΡΠΆΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΎΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΡΠΊΡΡΡΡΠΌΠΈ ΠΎΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ volatile ΠΈΠΌΠ΅Π΅Ρ ΡΡ ΠΆΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ volatile ΡΠ°ΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ volatile (Β§R.9.3.1).
ΠΡΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΡΠΈΠΏΠ° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ, ΠΎΠ½Π° ΡΡΠΈΡΠ°Π΅ΡΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊ int.
ΠΈΠΌΡ-ΠΏΡΠΎΡΡΠΎΠ³ΠΎ-ΡΠΈΠΏΠ°:
ΠΏΠΎΠ»Π½ΠΎΠ΅-ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°
ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅-ΠΈΠΌΡ-ΡΠΈΠΏΠ°
char
short
int
long
signed
unsigned
float
double
void
ΠΠΌΠ΅ΡΡΠ΅ Ρ int Π½Π΅Π»ΡΠ·Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° long ΠΈΠ»ΠΈ short. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΎΠΎΠ΄ΠΈΠ½ΠΎΡΠΊΠ΅, ΡΠΎΠ³Π΄Π° ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΈΠΏ Π΅ΡΡΡ int. Π‘Π»ΡΠΆΠ΅Π±Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ long ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ double. ΠΠΌΠ΅ΡΡΠ΅ Ρ char, short, int ΠΈΠ»ΠΈ long Π½Π΅Π»ΡΠ·Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° signed ΠΈΠ»ΠΈ unsigned. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΎΠΎΠ΄ΠΈΠ½ΠΎΡΠΊΠ΅, ΡΠΎΠ³Π΄Π° ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΈΠΏ Π΅ΡΡΡ int. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ signed ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° char ΠΈ Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠ²Π»ΡΡΡΡΡ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌΠΈ, Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½Π°.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² Β§R.9 ΠΈ Β§R.7.2 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ-ΡΠΈΠΏΠ°:
ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ΅-ΡΠ»ΠΎΠ²ΠΎ-ΠΊΠ»Π°ΡΡΠ° ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°
ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ΅-ΡΠ»ΠΎΠ²ΠΎ-ΠΊΠ»Π°ΡΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ΅-ΡΠ»ΠΎΠ²ΠΎ-ΠΊΠ»Π°ΡΡΠ°:
class
struct
union
ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ-ΡΠΈΠΏΠ° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ° (ΡΠΌ. Β§R.9.1).
ΠΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ union, ΡΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ class, ΡΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ class ΠΈΠ»ΠΈ struct. ΠΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ struct, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ class ΠΈΠ»ΠΈ struct. ΠΠΌΠ΅Π½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² (Β§R.9.7) Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΎΡΠ½ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅-ΠΈΠΌΡ-ΡΠΈΠΏΠ°:
ΠΈΠΌΡ-typedef
ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ° :: ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅-ΠΈΠΌΡ-ΡΠΈΠΏΠ°
ΠΏΠΎΠ»Π½ΠΎΠ΅-ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°:
ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅-ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°
:: ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅-ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°
ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅-ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°:
ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°
ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ° :: ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅-ΠΈΠΌΡ-ΠΊΠ»Π°ΡΡΠ°
ΠΠΌΡ, ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ-ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΈΠΏΠΎΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΈΠ»ΠΈ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΠΈΠΌΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, Π΄Π΅Π»Π°Π΅Ρ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ ΡΠ»Π΅Π½Ρ Ρ ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² (ΡΠΌ. Β§R.3.2).
R.7.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ (Β§R.3.6.1) Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ-ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. ΠΠ³ΠΎ ΠΈΠΌΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΈΠΌΡ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ, Ρ.Π΅. ΡΠ»ΡΠΆΠΈΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ.
ΠΈΠΌΡ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ:
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ:
enum ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ opt { ΡΠΏΠΈΡΠΎΠΊ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ }
ΡΠΏΠΈΡΠΎΠΊ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ:
ΡΠ»Π΅ΠΌΠ΅Π½Ρ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ
ΡΠΏΠΈΡΠΎΠΊ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΠ»Π΅ΠΌΠ΅Π½Ρ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½Ρ-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ:
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ = Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°
ΠΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°-ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΠ΄Ρ, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΡΠ»ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Ρ =, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π½ΡΠ»Ρ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ. ΠΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΡΠ΅ΡΠΈΠ»ΡΡ Ρ =, ΡΠΎ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π±Π΅Π· ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΈΠΏΠ° int ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ int Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ (Β§R.4.1).
ΠΠΌΠ΅Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½Ρ ΠΎΡ ΠΈΠΌΠ΅Π½ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. Π‘ΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π΅ΡΡΡ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ
enum {a, b, c=0};
enum {d, e, f=e+2};
Π·Π½Π°ΡΠ΅Π½ΠΈΡ a, c, ΠΈ d Π·Π°Π΄Π°Π½Ρ ΠΊΠ°ΠΊ 0, b ΠΈ e ΠΊΠ°ΠΊ 1, Π° f ΠΊΠ°ΠΊ 3.
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΎΡ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ². Π’ΠΈΠΏΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΊ ΡΠ΅Π»ΠΎΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ (Β§R.4.1). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅: