ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΠΏΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. ΠΡΠΈ ΡΡΠΎΠΌ A — ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ, ΡΡΡΠΎΠΊΠ° ΠΈΠ· 5 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int, ΡΠΎ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 5 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. ΠΠΎ ΡΠΈΠΏ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΡΡΠΎΠΌΡ ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ A — ΡΡΠΎ int*, Π° Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ int. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»Π΅Π²ΠΎΠ°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ, ΡΠΎ Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ. ΠΠΎΡΡΠΎΠΌΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ°ΡΠ΅Π΄ΡΠ°: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠΊΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
ΠΠΠΠΠΠΠ ΠΠ«Π Π ΠΠΠ£ΠΠΠ ΠΠ«Π ΠΠΠ‘Π‘ΠΠΠ«
1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ
1.1 ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°
1.2 Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ
1.3 ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
1.4 ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
1.4.1 ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
1.4.2 ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
1.5 Π’ΠΈΠΏ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°
1.6 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΡ
1.7 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΡ
1.8 Π’ΠΈΠΏ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
1.9 ΠΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ
1.10 Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° void
1.11 ΠΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
1.12 ΠΠ΄ΡΠ΅ΡΠ½Π°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ°
1.13 ΠΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ — ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
1.14 ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² — ΡΡΠΎ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
1.15 ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² — ΡΡΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
1.16 ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ — ΡΡΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
1.17 ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅
1.18 ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
2. ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ
2.1 Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅
2.2 ΠΠΈΠ½ΠΈΠΌΠ°ΠΊΡ
2.3 ΠΠ°ΡΡΠΈΠ²Ρ ΡΡΡΠΎΠΊ
2.4 Π’ΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
3. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ ΠΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ
1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ
1.1 ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΠ°ΡΡΠΈΠ²ΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ.
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΈ ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ ΡΡΠ°Π·Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π΅ ΠΎΠ± ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°, Π° ΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ Π’ΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π° [n1][n2].. nk];
Π³Π΄Π΅ ΠΈΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π° — ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°, Π° ni — ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°ΡΡΠΈΠ² Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ k-ΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ i-Π³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΎΡ 0 Π΄ΠΎ ni-1. Π’ΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΡΠΈΠΏΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (pointer), ΡΠΈΠΏΠΎΠΌ ΡΡΡΡΠΊΡΡΡΡ (struct) ΠΈΠ»ΠΈ ΡΠΈΠΏΠΎΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ (union). Π₯ΠΎΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°:
int page[10]; /* ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int, ΠΏΡΠΎΠ½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠΉ Ρ 0 Π΄ΠΎ 9 */
char line[81]; /*ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 80 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² */
float big[10][10], sales[10][5][8];
1.2 Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ
ΠΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΠΈΠ΄ΠΎΠ²:
1. ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅. Π Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΡΡΠ΅ΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
main (){
int A[10];
//…
}
2. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅. Π Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ , Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
main (){
static int A[10];
//…
}
3. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅. Π Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ , Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
int A[10];
main (){
//…
}
4. ΠΠ°Π»ΡΠ½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅. Π Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
far int A[10];
main (){
//…
}
ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ. ΠΠ°ΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π°Π·ΡΠ²Π°ΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ.
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΊ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² int A[3][4][5] ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠ»ΠΎΡΠΌΠΈ A[0][…][…], …, A[2][…][…].
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»ΠΎΠΉ, ΠΊΠ°ΠΊ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, A[0][0][…], …, A[0][3][…].
ΠΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°, ΡΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π±Π°ΠΉΡΠ°Ρ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 64Π.
1.3 ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠ³ΡΡ ΡΡΠΎΡΡΡ Π² ΠΎΠ±Π΅ΠΈΡ ΡΠ°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, ΡΠΎ Π΅ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Lvalue.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° k-ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ:
x[i1][i2].. ik],
Π³Π΄Π΅ ij — ΡΠ΅Π»ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈ ΡΡΠΎΠΌ 0<=ij<=nj -1, Π³Π΄Π΅ nj-1 — ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ j-Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
page[5]
line[i+j-1]
big[i][j]
Π―Π·ΡΠΊ Π‘ΠΈ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π²ΡΡ ΠΎΠ΄ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ, Π° «Ρ ΠΎΡΠΎΡΠΎ ΡΠΊΡΡΡΠΎΠΉ» Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»Π΅Π²ΠΎΠ°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ, ΡΠΎ Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π²Π½Π°ΡΠ°Π»Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π»Π΅Π²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ []. Π ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΡΠΎΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ [] ΠΈ Ρ. Π΄.
1.4 ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ.
1.4.1 ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
1. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
int A[4] = {1, 4, 2, 6};
Π Π°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΌ Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ sizeof. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ Π² Π±Π°ΠΉΡΠ°Ρ . Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, sizeof (A) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π±Π°ΠΉΡΠ°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
int A[] = {1, 4, 2, 6};
int Dim = sizeof (A)/ sizeof (int); // 8/2=4
ΠΡΡΡΠ΅ ΠΏΠΈΡΠ°ΡΡ
int Dim = sizeof (A)/ sizeof (A[0]); // 8/2=4
2. Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ . ΠΠ΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½ΡΠ»Π΅Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΡΠ»ΡΡΠ°Π΅
int A[4] = {1, 4};
ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ A[0] ΠΈ A[1] ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° Π² A[2] ΠΈ A[3] Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π½ΡΠ»ΠΈ .
ΠΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
// int A[4] = {1, 4, 4, 7, 2}; ΠΡΠΈΠ±ΠΊΠ°
1.4.2 ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
1. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ . ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ²ΠΎΠΈΡ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
int A[3][4] ={ {1, 4, 2, 6},
{11, 1 4, 1 2, 1 6},
{1, 4, 2, 6}
};
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΠΏΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ.
int A[][4] ={ {1, 4, 2, 6},
{11, 1 4, 1 2, 1 6},
{1, 4, 2, 6}
};
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΌ Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ sizeof. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, sizeof (A) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π±Π°ΠΉΡΠ°Ρ , Π° sizeof (A[0]) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π² Π±Π°ΠΉΡΠ°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
int KolStrok = sizeof (A)/ sizeof (A[0]); // 24/82=3
2. Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π½Π΅ΠΏΠΎΠ»Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
int A[4][4] ={ { 2, 6},
{ 1 4, 1 2, 1 6},
{6}
};
ΠΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
// int A[2][4] = {{1, 4, 4, 7, 2},
{1, 4, 4, 2}}; ΠΡΠΈΠ±ΠΊΠ°
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠΎΠΉ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ
int A[2][4] = { 1, 4, 4, 7, 2, 1, 4, 4, 2};
ΠΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠ΅Π²Π°Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π±Π΅Π· ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
1.5 Π’ΠΈΠΏ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠ»Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠΈΠΏΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏ_ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°_ΠΌΠ°ΡΡΠΈΠ²Π°[]
ΠΡΠΈΠΌΠ΅ΡΡ.
ΠΠΌΡ, Π ΠΌΠ°ΡΡΠΈΠ²Π° char A[20]; ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ char[].
ΠΠΌΡ Π ΠΌΠ°ΡΡΠΈΠ²Π° float B[10] ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ float[].
ΠΠ»Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠΈΠΏΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏ_ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°_ΠΌΠ°ΡΡΠΈΠ²Π°[][ΡΠ°Π·ΠΌΠ΅Ρ].
Π ΡΠΈΠΏΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° — ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΡΡΡΠΎΠΊ.
ΠΡΠΈΠΌΠ΅ΡΡ.
ΠΠΌΡ, Π ΠΌΠ°ΡΡΠΈΠ²Π° char A[10][20]; ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ char[][20].
ΠΠΌΡ B ΠΌΠ°ΡΡΠΈΠ²Π° char B[100][20] ΡΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ char[][20].
ΠΠΌΡ C ΠΌΠ°ΡΡΠΈΠ²Π° char C[20][10] ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ char[][10], ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΎΡ ΡΠΈΠΏΠΎΠ², Π ΠΈ Π.
1.6 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΡ
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°. Π ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°.
Π ΡΠΏΠΈΡΠΊΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΡ. ΠΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΡΠΎ ΡΠ°ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° return ΠΌΠ°ΡΡΠΈΠ² Π²Π΅ΡΠ½ΡΡΡ Π½Π΅Π»ΡΠ·Ρ.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ²
1. int max (int *A, int Dim);
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΈΡΠ°ΡΡ
int max (int A[], int Dim);
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²Π΅ΡΠ½Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΈΠΏ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°.
// int max (int A[100]); ΠΎΡΠΈΠ±ΠΊΠ° Π ΡΠΏΠΈΡΠΊΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΠΈΡΠΈ int *A ΠΈ int A[] ΡΠ°Π²Π½ΠΎΡΠΈΠ»ΡΠ½Ρ.
2. float scal (float A[], float B[], int Dim);
ΠΡΠΈΠΌΠ΅Ρ. Π€ΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΠΏΠ° int ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
int sum (int *A, int Dim); // ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ
int sum (int *A, int Dim)
{
int S =0;
for (int i = 0; i < Dim; i++)
S += A[i];
return S;
}
void main ()
{
int B[] = {1,2,3,4,5};
int N = sizeof (B)/sizeof (B[0]);
printf («nΠ‘ΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π²Π½Π° %d», sum (B, N));
}
ΠΡΠΈΠΌΠ΅Ρ. Π€ΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅.
int VseChot (int A[], int DimA, int Chot[], int DimChot);
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ² Chot. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°Π΄ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠΈΠ»ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ DimChot ΠΌΠ°ΡΡΠΈΠ²Π° Chot. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠ΅Π²ΡΡΠΈΠ»ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ DimChot, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ -1, Π° ΠΌΠ°ΡΡΠΈΠ² Chot ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Π.
int VseChot (int A[], int DimA, int Chot[], int DimChot)
{
int count = 0;
for (int i = 0; i < DimA; i++)
if (A[i] % 2 == 0) //ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
if (count < DimChot)
Chot[count++] = A[i];
else
return -1;
}
void main ()
{
int A[]={1, 2, 4, 6, 7, 5};
int B[4];
int res = VseChot (A, 6, B, 4);
if (res = -1)
{
printf («n ΠΠ°ΠΉΠ΄Π΅Π½Ρ Π½Π΅ Π²ΡΠ΅ ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°:»);
for (int I = 0; I < 4; i++)
printf («%d «, B[i]);
}
else
{
printf («n ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΠ΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° :»);
for (i = 0; i < 4; i++)
printf («%d «, B[i]);
}
}
1.7 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ.
1. Π€ΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
int max (int A[][100], int KolStroc, int KolStolb);
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ 100. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
int A[][100] = {{1,3,5}, {15,2,3}};
int res = max (A, 2, 3);
2. Π€ΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊ ΡΠΈΠΏΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π»ΡΠ±ΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
int sum (int A[], int KolStroc, int KolStolb)
{
int s= 0;
for (int i = 0; i < KolStroc; i++)
for (int j = 0; j < KolSolb; j++)
s += A[i* KolSolb + j];
return s;
};
void main ()
{
int B[2][3]={{1,4,2}, {4,1,2}};
int res = sum ((int *)A, 2, 3);
printf («%d», s);
}
1.8 Π’ΠΈΠΏ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
type *ΠΈΠΌΡ_ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ;
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. Π’ΠΈΠΏΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ type*.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΠ°Π·ΠΎΠ²ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠΏ type Π΄Π°Π½Π½ΠΎΠ³ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
ΠΡΠΈΠΌΠ΅ΡΡ.
1. ΠΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ int *pi ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ int* ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ int.
2. ΠΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ struct date *pd ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ date* ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ date.
3. ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ float **ppf ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ float** ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ float*.
4. Π Π΅Π΄ΠΊΠΈΠΉ ΡΡΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ char ***pppc ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ char *** ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ char **.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ ΡΡΠΎΠΉΠ½ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Ρ 4 Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠ°ΠΌΠΈ — ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
1.9 ΠΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ
Β· ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π»ΡΠ±ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ name ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π·ΡΡΠΈΡ Π°Π΄ΡΠ΅ΡΠ° &name Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ ΡΠΈΠΏΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠ΄Π½Ρ *.
Β· ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ptr ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ *ptr ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΠ· ΡΠΈΠΏΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠ΄Π½Ρ *.
Β· ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ptr ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ptr[0] ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΠ· ΡΠΈΠΏΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠ΄Π½Ρ *.
ΠΡΠΈΠΌΠ΅ΡΡ.
int **ptr; // ΡΠΈΠΏ ptr — ΡΡΠΎ int **
// ΡΠΈΠΏ *ptr — ΡΡΠΎ int *
// ΡΠΈΠΏ **ptr — ΡΡΠΎ int
// Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ***ptr ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ
// ΡΠΈΠΏ ptr[0] - ΡΡΠΎ int *
// ΡΠΈΠΏ ptr[3][5] - ΡΡΠΎ int
// Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ptr[1][1][1] ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ
// ΡΠΈΠΏ *ptr[0] - ΡΡΠΎ int
// ΡΠΈΠΏ &(*ptr[0]) — ΡΡΠΎ int*
1.10 Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° void
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° void * Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ ΠΊ Π½Π΅ΠΌΡ Π½Π°Π΄ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ°.
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° void * ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π²ΡΠ΅, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠ»ΡΡΠ΅Π²ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ void Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «Π½ΠΈΡΠ΅Π³ΠΎ», Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «Π²ΡΠ΅, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ». ΠΠΎΠ΄ ΡΠ»ΠΎΠ²ΠΎ void ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΈΠΏΡ, Π»ΡΠ±ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ: ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅, Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΈ Ρ. Π΄.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ void **ptr Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°, Ρ ΠΎΡΡ ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠ°Π΄ΠΎ ΠΏΠΈΡΠ°ΡΡ void *ptr.
Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° void ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡΡΡ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ void* ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ void* Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ.
int i=5, *pi = &i;
void *ptr;
ptr = pi;
//pi = ptr; ΠΎΡΠΈΠ±ΠΊΠ°
pi = (int *)ptr; // ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
1.11 ΠΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
ΠΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ const. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΠΌΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Lvalue, ΡΠΎ Π΅ΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΡΠΎΡΡΡ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ 1.
int *Arr = {1,3,2,4,5}, *B = {1,1};
ΠΡΠΈ Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°
Arr[0]=100;
Arr = B;
ΠΡΠΈΠΌΠ΅Ρ 2.
const int *Arr = {1,3,2,4,5}, *B = {1,1};
// Arr[0]=100; ΠΎΡΠΈΠ±ΠΊΠ°
Arr = B;
ΠΡΠΈΠΌΠ΅Ρ 3.
int *const Arr = {1,3,2,4,5}, *B = {1,1};
Arr[0]=100;
//Arr = B; ΠΎΡΠΈΠ±ΠΊΠ° ΠΡΠΈΠΌΠ΅Ρ 4.
const int *const Arr = {1,3,2,4,5}, *B = {1,1};
//Arr[0]=100; ΠΎΡΠΈΠ±ΠΊΠ°
//Arr = B; ΠΎΡΠΈΠ±ΠΊΠ° ΠΠ±ΡΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΡΡΡΠΎΠΊ
const char* str = «Hello»;
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ.
1.12 ΠΠ΄ΡΠ΅ΡΠ½Π°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ°
ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ°. ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΡΠΎ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ°. ΠΠ»Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠΈΠΌΠ΅Ρ.
1. int *A = (int *)malloc (20);
2. int **A; char *c; A = (int **)c;
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ * Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Ρ ΡΠ°Π½ΡΡΠ΅Π΅ΡΡ Π² ΡΡΠ΅ΠΉΠΊΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌΡΡΡ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅.
ΠΡΠΈΠΌΠ΅Ρ.
int i = 5, *pi = &i;
*pi = 10;// i =10
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ Π°Π΄ΡΠ΅Ρ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ & ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π½Π°ΠΌ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ & Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ ΡΠΈΠΏΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠ΄Π½Ρ *.
ΠΡΠΈΠΌΠ΅Ρ.
int n=20, *pn = &n, **ppn;
ppn = &pn;
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. Π ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ptr ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ±Π°Π²Π»ΡΡΡ ΠΈ Π²ΡΡΠΈΡΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ n. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ ΡΠ°Π²Π½ΠΎΠ΅ n, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠ°Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ptr.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ++ ΠΈ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° —.
ΠΡΠΈΠΌΠ΅Ρ.
int n=20, *pn = &n, **ppn;
pn = pn + 5;
// Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ pn — int, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 2 Π±Π°ΠΉΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ pn ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡ Π½Π° 10 Π±Π°ΠΉΡ.
ppn = &pn+5;
// Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ &pn — int*, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 4 Π±Π°ΠΉΡΠ° Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ large, ΠΏΠΎΡΡΠΎΠΌΡ pn ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡ Π½Π° 20 Π±Π°ΠΉΡ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΈ Π½Π΅ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
Π Π°Π·Π½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠΆΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·Π½ΠΎΡΡΡ Π΄Π²ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ int Π΄Π»Ρ Π±Π»ΠΈΠΆΠ½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠΈΠΏ long Π΄Π»Ρ Π΄Π°Π»ΡΠ½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠΈΠΌΠ΅Ρ.
int A[10];
int *px = &A[1], *py = &A[9];
int n;
n = (int)(py — px); // n = 8
1.13 ΠΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ — ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
ΠΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ.
int n=10, *pi;
pi = &i;
Π’ΠΎΠ³Π΄Π° pi[0] - ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i,. pi[1] - ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° int, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΠΏΡΠ°Π²Π° ΠΎΡ i, pi[-1] - ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° int, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΡΠ»Π΅Π²Π° ΠΎΡ i.
1.14 ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² — ΡΡΠΎ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
ΠΠΌΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π²Π·ΡΡΠΎΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. Π ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
int A[5];
Π’ΠΈΠΏ, Π — ΡΡΠΎ int *, Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ — int.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, Π ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° A[0], ΠΏΠΎΡΡΠΎΠΌΡ *A — ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π.
Π+1 — ΡΡΠΎ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° A[1], Π° ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ *(Π+1) — ΡΡΠΎ A[1], *(Π+4) — ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ A[4], ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ *(Π+5) Π² Π»ΡΠ±ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΠΎΠΉ Π² ΠΠΠ£. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ°ΠΌ ΠΈΠΌΠ΅Π΅Ρ Π°Π΄ΡΠ΅Ρ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 2 ΠΈΠ»ΠΈ 4 Π±Π°ΠΉΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π±Π»ΠΈΠΆΠ½ΠΈΠΉ ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π΄Π°Π»ΡΠ½ΠΈΠΉ. ΠΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π°Π΄ΡΠ΅ΡΠ° ΠΈ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅ΡΡΠ° Π² ΠΠΠ£.
1.15 ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² — ΡΡΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
int A[3][5];
ΠΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΠΏΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. ΠΡΠΈ ΡΡΠΎΠΌ A[0] - ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ, ΡΡΡΠΎΠΊΠ° ΠΈΠ· 5 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int, ΡΠΎ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 5 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. ΠΠΎ ΡΠΈΠΏ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΡΡΠΎΠΌΡ ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ A[0] - ΡΡΠΎ int*, Π° Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ int.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π[1] - ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΈΠΏ Π[1] - ΡΡΠΎ int*. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ A[0] - ΡΡΠΎ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, A[1] - ΡΡΠΎ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Ρ. Π΄.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠΈΠΏ A[0] Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° 5.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΠΌΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π, Π²Π·ΡΡΠΎΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, Π — ΡΡΠΎ Π°Π΄ΡΠ΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· 5 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. Π’ΠΈΠΏ, Π — ΡΡΠΎ int (*)[5]. Π Π΄Π°Π½Π½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΡΠ°ΡΡΠ²ΡΡΡ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ (), ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ [] ΠΈ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅*. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π΄Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°. Π§ΠΈΡΠ°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ int (*)[5] Π½ΡΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΠΏΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΡΡΡΠ΄Π° Π²ΡΡΠ΅ΠΊΠ°Π΅Ρ, ΡΡΠΎ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°
int B[10][5], C[3][20];
ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΏ int (*)[5], Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π‘ ΠΈΠΌΠ΅Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ int (*)[20].
ΠΠ°Π»Π΅Π΅, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
A+1 — ΡΡΠΎ Π°Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· 5 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. Π’ΠΈΠΏ A+1 — ΡΡΠΎ int (*)[5], Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ — ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΠΏΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int, ΡΠΎ Π΅ΡΡΡ int*.
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, A+i ΡΡΠΎ Π°Π΄ΡΠ΅Ρ i-ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· 5 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int. Π’ΠΈΠΏ A+i — ΡΡΠΎ int (*)[5], Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ — ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΠΏΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int, ΡΠΎ Π΅ΡΡΡ int*.
*(A+i) — ΡΡΠΎ ΡΠ°ΠΌΠ° i-Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠ· 5 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° int, ΡΠΎ Π΅ΡΡΡ Π°Π΄ΡΠ΅Ρ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π’ΠΈΠΏ *(A+i) — ΡΡΠΎ int*, Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ *(A+i) — ΡΡΠΎ int.
*(A+i) + j — ΡΡΠΎ Π°Π΄ΡΠ΅Ρ j-Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° i-ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π’ΠΈΠΏ *(A+i) + j — ΡΡΠΎ int*, Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ int.
*(*(A+i) + j) — ΡΡΠΎ ΡΠ°ΠΌ j-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ i-ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π’ΠΈΠΏ *(*(A+i) + j) — int
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π²ΠΎΠΉΠ½Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ A[i][j] ΡΠ°Π²Π½ΠΎΡΠΈΠ»ΡΠ½Π° Π·Π°ΠΏΠΈΡΠΈ
*(*(A+i) + j).
1.16 ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ — ΡΡΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
ΠΠ²ΠΎΠΉΠ½ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π΅ ΡΠ°ΠΊ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΡΠΈΠΌΠ΅Ρ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
int n=5;
int* pi = &n;
int **ppi = Ο
ΠΠΎΡΡΡΠΎΠΈΠΌ ΡΡ Π΅ΠΌΡ ΠΠΠ£ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π ΠΈΡ. 1.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ
ppi[1][1] = 10;
ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ, Π½ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΡΠ΅Π½. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΠ»ΠΎ 10 Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Π½Π°ΡΠ³Π°Π΄ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ ΠΠΠ£, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊ ΡΠ°ΡΠ°Π»ΡΠ½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ
ppi[0][1] = 20;
ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ, Π½ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΡΠ΅Π½.
ΠΡΠΈΠΌΠ΅Ρ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ
char *Arr[] = {"Hello", ««, «World!"};
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΏ Arr — ΡΡΠΎ char*[], ΡΠΎ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΏΠΎΠ² char*, Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ. ΠΠΎ ΡΡΡΠΎΠΊΠ° — ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° char, ΡΠΎ Π΅ΡΡΡ ΡΠΈΠΏ ΡΡΡΠΎΠΊΠΈ — ΡΡΠΎ char*. ΠΠΎΡΡΠΎΠΌΡ ΡΠΈΠΏ Arr — ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ char**. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ Arr — Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
1.17 ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅
ΠΠ»Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ptri, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ
int i = 4, *ptri;
ptri = &i;
ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅ ΠΏΠΎ Alt-F4 ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ Π’Π°Π±Π»ΠΈΡΠ°.1.
8FAC:FFF2 | ΠΏ | Ds:FFF4 | |
[0] | 4(0×0004) | ||
int * | |||
ΠΠ΄Π΅ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ:
Β· Π°Π΄ΡΠ΅Ρ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ptri, ΡΠ°Π²Π½ΡΠΉ 8FAC: FFF2;
Β· Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ds: FFF4;
Β· Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Ds: FFF4, Ρ. Π΅. Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ i.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ΅Π΅ΠΊ, ΠΎΠΊΡΡΠΆΠ°ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i, Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΠΊΠ»Π°Π²ΠΈΡ Alt-I, Π²Π²Π΅ΡΡΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ (Starting index) ΠΈ ΡΠΈΡΠ»ΠΎ ΡΡΠ΅Π΅ΠΊ (Count). ΠΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π²Π΅Π΄Π΅Π½Ρ ΡΠΈΡΠ»Π° -5 ΠΈ 15, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
ptri[-5], ptri[-4],…, ptri[10].
1.18 ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
1. ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°?
2. ΠΠ°ΠΊΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ Π΅Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ?
3. ΠΠ°ΡΠΈΡΡΠΉΡΠ΅ ΡΡ Π΅ΠΌΡ ΠΠΠ£ ΠΏΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΠ°ΡΡΠΈΠ²Π° int A[3][4] Π² ΡΠ»ΡΡΠ°Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅ A[3][4] = 0;
4. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π±Π°ΠΉΡΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° A[i][j] ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»Π° ΠΌΠ°ΡΡΠΈΠ²Π° float A[4][5].
5. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΠ° ΠΌΠ°ΡΡΠΈΡΡ A[m][n].
6. ΠΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
char c;
int *pi;
float **ppf;
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΈΠΏΡ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ
&c, *(&c), &pi[0], &(p+10), &&ppf, ppf[10], (*ppf)[3]
7. ΠΠΌΠ΅Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
int n=5, m=20;
int *const pi = &n;
ΠΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²Π΅ΡΠ½Ρ
*pi = 10;
pi = &m;
*pi++;
(*pi)++;
2. ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ
2.1 Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ².
2.2 ΠΠΈΠ½ΠΈΠΌΠ°ΠΊΡ
ΠΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡ ΠΈ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΠΎΠ΄ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ· ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊΠ°Ρ ΠΌΠ°ΡΡΠΈΡΡ.
2.3 ΠΠ°ΡΡΠΈΠ²Ρ ΡΡΡΠΎΠΊ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
2.4 Π’ΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ.
3. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ
1. ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΡΡΠΎΠΊ.
2. ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π² ΡΠ΅ΠΊΡΡ Π΄Π΅Π½Π΅ΠΆΠ½ΡΡ ΡΡΠΌΠΌΡ.
ΠΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ
1. ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½ Π. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΈ / Π. ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½, Π. Π ΠΈΡΡΠΈ. Π‘ΠΠ±.: ΠΠ΅Π²ΡΠΊΠΈΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ, 2001. 352 Ρ.
2. ΠΠΎΠ΄Π±Π΅Π»ΡΡΠΊΠΈΠΉ Π. Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ / Π. Π. ΠΠΎΠ΄Π±Π΅Π»ΡΡΠΊΠΈΠΉ, Π‘. Π‘. Π€ΠΎΠΌΠΈΠ½. Π.: Π€ΠΈΠ½Π°Π½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, 2004. 600 Ρ.
3. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π‘ΠΈ. ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°: ΠΌΠ΅ΡΠΎΠ΄ ΡΠΊΠ°Π·Π°Π½ΠΈΡ / ΡΠΎΡΡ. Π‘. Π. Π’ΡΠΎΡΠΈΠΌΠΎΠ². ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³: Π£ΠΠ’Π£, 1998. 14 Ρ.
4. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π‘ΠΈ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ: ΠΌΠ΅ΡΠΎΠ΄. ΡΠΊΠ°Π·Π°Π½ΠΈΡ / ΡΠΎΡΡ. Π‘. Π. Π’ΡΠΎΡΠΈΠΌΠΎΠ². ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³: Π£ΠΠ’Π£, 1998. 13 Ρ.