ΠΠ· Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² C++ Ρ ΡΠ°Π½ΡΡΡΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ), Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ»ΠΈ Π½Π΅ ΠΈΠ³ΡΠ°Π΅Ρ.
R.8.2.5 Π€ΡΠ½ΠΊΡΠΈΠΈ
Π ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ T D, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ D ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄
D1 ( ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ) ΡΠΏΠΈΡΠΎΠΊ-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ-cv opt
ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ "β¦ΡΠΏΠΈΡΠΎΠΊ-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ-cv ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ T".
ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌ opt β¦ opt
ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌ , β¦
ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌ:
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌ , ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ = Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ-ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ opt
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ-ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ opt = Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠΎΠΌ (β¦), ΠΏΡΠΎ ΡΠΈΡΠ»ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ ΡΠΈΡΠ»Π° Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π΅ΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΡΡ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² void ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ ΠΏΡΡΡΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ΅ ΡΡΠΈΡΠ°Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ, void Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΈΠΏΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° (Ρ ΠΎΡΡ ΡΠΈΠΏΡ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΈΠ· void, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ void*, Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ).
R.8.3 ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅-ΡΡΠ½ΠΊΡΠΈΠΈ:
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ opt ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ-ctor ΡΠ΅Π»ΠΎ-ΡΡΠ½ΠΊΡΠΈΠΈ
ΡΠ΅Π»ΠΎ-ΡΡΠ½ΠΊΡΠΈΠΈ:
ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ-ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ Π²ΠΈΠ΄Π°
D1 ( ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ) ΡΠΏΠΈΡΠΎΠΊ-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ-cv opt
Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· Β§R.8.2.5.
Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΡΠ΅Π»Π°-ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
int max(int a, int b, int c)
{
int m = (a βΊ b) ? a : b;
return (m βΊ c) ? m : c;
}
ΠΠ΄Π΅ΡΡ int ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ-ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, max(int a, int b, int c) - ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ, Π° {/*β¦ */} - ΡΠ΅Π»ΠΎ-ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ-ctor ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ , ΡΠΌ. Β§R.9.3.1 ΠΈ Β§R.12.6.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠΏΠΈΡΠΎΠΊ-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ-cv ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ: Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π°, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° ΠΈΠ»ΠΈ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½, ΡΠΌ. Β§R.9.3.1. ΠΠ½Π° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π΄Π°Π²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
void print(int a, int)
{
printf("a = %d\n",a);
}
R.8.4 ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ
ΠΠ° ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ΄ΡΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°.
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ:
= Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
= { ΡΠΏΠΈΡΠΎΠΊ-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² , opt }
( ΡΠΏΠΈΡΠΎΠΊ-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ )
ΡΠΏΠΈΡΠΎΠΊ-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ²:
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
ΡΠΏΠΈΡΠΎΠΊ-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ², Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
{ ΡΠΏΠΈΡΠΎΠΊ-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² , opt }
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΠ΅, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
int f(int);
int a = 2;
int b = f(a);
int c(b);
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° const T*, Ρ.Π΅. ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ T, ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΈΠΏΠ° T*, Π½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½Π°. ΠΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° T ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° T Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ const ΠΈΠ»ΠΈ volatile Π² ΡΠΈΠΏΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
int a;
const int b = a;
int c = b;
const int* p0 = &a;
const int* p1 =&b;
int* p2 = &b; // ΠΎΡΠΈΠ±ΠΊΠ°: ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±Π΅Π· const
// Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ const
int *const p3 = p2;
int *const p4 = p1; // ΠΎΡΠΈΠ±ΠΊΠ°: ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±Π΅Π· const
// Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ const
const int* p5 = p1;
ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΡΠΈΠ½Π° ΠΎΠ±Π΅ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΎΠ΄Π½Π°: Π΅ΡΠ»ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±Π΅Π· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎ-ΡΠΎ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΊΠ°ΠΊ const.
ΠΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΡΠΌ. Β§R.8.2.6.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Β§R.12.6.1. ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Β§R.12.8. ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² Β§R.3.4 ΠΈ Β§R.6.7.
ΠΠ°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ (Β§R.3.5), ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Ρ 0, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ. Π’ΠΎ ΠΆΠ΅ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½ΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ, Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ.
ΠΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΎΠ½ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π±Π΅ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ°, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ () Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
X a();
Π·Π°Π΄Π°Π΅Ρ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ a ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡ X, Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅ΠΉ X.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ»Π΅Π½Π° ΠΊΠ»Π°ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
int a;
struct X {
static int a;
static int b;
};
int X::a = 1;
int X::b = a; // X::b = X::a
R.8.4.1 ΠΠ³ΡΠ΅Π³Π°Ρ
ΠΠ³ΡΠ΅Π³Π°ΡΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡ (Β§R.9), Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² (Β§R.12.1), ΡΠ°ΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ² (Β§R.11), Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² (Β§R.10) ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ (Β§R.10.2). ΠΡΠ»ΠΈ Π°Π³ΡΠ΅Π³Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ, ΡΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠΏΠΈΡΠΊΠ°, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΡΠΌΠΈ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠ»Π΅Π½ΠΎΠ² Π°Π³ΡΠ΅Π³Π°ΡΠ°. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΠΈΠ΄ΡΡ Π² Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ»Π΅Π½ΠΎΠ² Π°Π³ΡΠ΅Π³Π°ΡΠ°. ΠΡΠ»ΠΈ Π°Π³ΡΠ΅Π³Π°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΡ, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π΄Π»Ρ ΡΠ»Π΅Π½ΠΎΠ² Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π°Π³ΡΠ΅Π³Π°ΡΠΎΠ². ΠΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠ»Π΅Π½ΠΎΠ² Π°Π³ΡΠ΅Π³Π°ΡΠ°, ΡΠΎ ΠΎΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΈΠΏΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅
struct S {int a; char* b; int c;}
S ss = {1, "asdf"};
ss.a ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 1, ss.b - "asdf", Π° ss.c - 0.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π°Π³ΡΠ΅Π³Π°Ρ, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠ°, ΡΠ²Π»ΡΡΡΠ΅Π³ΠΎΡΡ ΠΎΠ±ΡΠΈΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ Π½Π΅Π³ΠΎ (Β§R.12.8).
Π€ΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π»Π΅Π²ΠΎΠΉ ΡΠΈΠ³ΡΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ, ΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ, Π·Π°Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π½Π°ΠΌ Π°Π³ΡΠ΅Π³Π°ΡΠ°, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Π΅ΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠ»Π΅Π½ΠΎΠ². ΠΠ½Π°ΡΠ΅, Π΅ΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π°Π³ΡΠ΅Π³Π°Ρ Π½Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π»Π΅Π²ΠΎΠΉ ΡΠΈΠ³ΡΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ, ΡΠΎ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»Π΅Π½ΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π°Π³ΡΠ΅Π³Π°ΡΠ°; Π²ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»Π΅Π½ΠΎΠ² ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π°Π³ΡΠ΅Π³Π°ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Π»ΠΎΠΆΠ΅Π½ ΡΠ΅ΠΊΡΡΠΈΠΉ Π°Π³ΡΠ΅Π³Π°Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ
int x[] = {1, 3, 5};
ΠΌΠ°ΡΡΠΈΠ² x ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΡΠΊΠ°Π·Π°Π½, ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΡΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΎΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ.
float y[4][3] = {
{1, 3, 5},
{2, 4, 6},
{3, 5, 7},
};
ΠΠ΄Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1, 3, 5 ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° y[0], Ρ.Π΅. y[0][0], y[0][1] ΠΈ y[0][2]. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡ y[1] ΠΈ y[2]. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ y[3] ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π½ΡΠ»ΡΠΌΠΈ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
float y[4][3] = {
1, 3, 5, 2, 4, 6, 3, 5, 7,
};
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ (ΡΠ°ΠΌΡΠΉ ΠΏΡΠ°Π²ΡΠΉ) ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ Π΄Π»Ρ y Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π»Π΅Π²ΠΎΠΉ ΡΠΈΠ³ΡΡΠ½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΎΠΉ, Π½ΠΎ Π΄Π»Ρ y[0] ΡΠΊΠΎΠ±ΠΊΠΈ Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎ ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ y[1] ΠΈ y[2]. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅
float y[4][3] = {
{1}, {2}, {3}, {4}
};
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ y (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²), Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0.