ΠΠ°ΠΊ Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π² c: Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²: ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° | ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C ΠΈ C++
Π‘ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΈΠΏΠ° ΠΈΠΌΡ_ΠΌΠ°ΡΡΠΈΠ²Π° [ΡΠ°Π·ΠΌΠ΅ΡN] … [ΡΠ°Π·ΠΌΠ΅Ρ1] = {ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ};
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ — ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΏΠΎ ΡΠΈΠΏΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΈΠΏΠ°. ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π²ΡΠΎΡΠ°Ρ — Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ ΡΠΏΠΈΡΠΊΠ° Π½Π΅Ρ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π° }. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 10-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ 10:
int i [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ i[0] ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, i[9] — 10.
ΠΠ°ΡΡΠΈΠ²Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² Π²ΠΈΠ΄Π΅
char ΠΈΠΌΡ_ΠΌΠ°ΡΡΠΈΠ²Π° [ΡΠ°Π·ΠΌΠ΅Ρ] = «ΡΡΡΠΎΠΊΠ°»;
ΠΡΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΡΠΎΠΊΠΈ. ΠΠΈΠΆΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΡ str ΡΡΠ°Π·ΠΎΠΉ Β«helloΒ»:
char str[6] = «hello»;
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΠΈΡΠ°ΡΡ:
char str [ 6 ] = {‘h’, ‘Π΅’, ‘l’, ‘l’, ‘o’, ‘\0’};
ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² Π‘ ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΠΉ Π΄Π»Ρ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ str ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 6 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Ρ ΠΎΡΡ Β«helloΒ» ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 5 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ sqrs ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ 10 ΠΈ ΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°ΠΌΠΈ:
int sqrs[10] [2] =
{
1, 1
2, 4,
3, 9,
4, 16,
5, 25,
6, 36,
7, 49,
8, 64,
9, 81,
10, 100
};
ΠΠ΄Π΅ΡΡ sqrs[0][0] ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 1, sqrs[0][1] ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 1, sqrs[1][0] ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 2, sqrs[1][1] ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 4 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π²ΠΎΠΊΡΡΠ³ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΡΠ±Π°Π³ΡΠ΅Π³Π°ΡΠ½Π°Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ°. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ:
int sqrs[10][2] =
{
{1, 1},
{2, 4},
{3, 9},
{4, 16},
{5, 25},
{6, 36},
{7, 49},
{8, 64},
{9, 81},
{10, 100}
};
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ±Π°Π³ΡΠ΅Π³Π°ΡΠ½ΠΎΠΉ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π² 0 Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ?
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π² ΡΠ·ΡΠΊΠ΅ ΠΠ°ΡΠΊΠ°Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΠΈΠ΄Π°
var a: array [1..10] of integer;
ΠΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π΄Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ, ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅Π»ΡΠ·Ρ. ΠΠ°ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ, Π½ΠΎ ΠΈ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° Π²ΡΡΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡΠΊΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²
var LettersCount: array ['a'..'z'] of integer;
ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ Π² ΡΠ²ΠΎΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅:
LettersCount['z'] := 1; LettersCount['d'] := LettersCount['d'] + 1;
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΡΠ°ΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΠ·Π²Π΅ΡΡΠ½Ρ: Π΅ΡΠ»ΠΈ Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΠΎ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΠΈΡΠΎΠ³Π΅ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΌΡ «Π·Π°ΠΏΠ°ΡΠ°Π΅ΠΌΡΡ Π²ΠΏΡΠΎΠΊ», Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ ΡΡΠΎΠ³ΠΎ «Π·Π°ΠΏΠ°ΡΠ°» ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ: ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅Π½ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°Π΄Π°Π½ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Delphi Object Pascal ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ, Π½ΠΎ ΠΈ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΈ ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ Π΄Π°Π»Π΅Π΅.
ΠΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ:
Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ SetLength:
var n: integer; read(n); SetLength(a,n);
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡΡ).
Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Length: Length(a) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ½Π΄Π΅ΠΊΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° — ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½ΠΈΠΆΠ½ΡΡ Π³ΡΠ°Π½ΠΈΡΠ° ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½Π° Π½ΡΠ»Ρ. Π’ΠΎ Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° SetLength(a,n) ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° a ΡΠ²Π»ΡΡΡΡΡ a[0]..a[n-1]. ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
for i:=0 to Length(a)-1 do write(a[i],' ');
Π§Π΅ΠΌ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° SetLength — ΡΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, ΠΈ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π°Ρ ΡΡΠ°ΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ:
SetLength(a,3); a[0] := 666; SetLength(a,5); writeln(a[0]); // Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ 666
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π»ΡΠ±Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° «Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Ρ ΡΠ°Π½ΠΈΡ nil, Π° Π²ΡΠ·ΠΎΠ² SetLength(a) Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π±Π»ΠΎΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² a Π°Π΄ΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ.
Π’ΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ — Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ — ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π°Π΄ΡΠ΅ΡΠ°, ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΏΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π° ΠΏΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ — ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ:
var a1,a2: array [1..10] of integer; var b1,b2: array of integer; a1 := a2; // ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ b1 := b2; // ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
Π’ΠΎ Π΅ΡΡΡ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎΠ»Π³ΠΎ, Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ — Π±ΡΡΡΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΎΠ±Π΅ ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ b1 ΠΈ b2 ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠ°ΡΡΠΎΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ b1 ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΈ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° b2:
b1[0] := 5; writeln(b2[0]); // Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ 5
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ Π΄Π°Π½Π½ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Copy:
b2[0] := 3; b1 := Copy(b2); b1[0] := 5; writeln(b2[0]); // Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ 3
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠΆΠ΅ ΠΏΡΠΎΡΡΠ°:
type IntArr = array of integer; Β procedure print(a: IntArr); var i: integer; begin for i:=0 to Length(a)-1 do write(a[i],' '); end; Β var b: IntArr; ... print(b);
ΠΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° — Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ var-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅: Π΅ΡΠ»ΠΈ ΠΌΡ ΠΎΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΠ°ΠΌΡΡΡ:
procedure CreateAndFill(var a: IntArr; n: integer; fill: integer); var i: integer; begin SetLength(a,n); for i:=0 to n-1 do a[i] := fill; end.
Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΡΠΊΡΡΡΠ° ΠΎΠ΄Π½Π° Π·Π°ΠΏΠ°Π΄Π½Ρ: Π΅ΡΠ»ΠΈ ΠΌΡ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² — ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ:
procedure Trap(a: IntArr); begin a[0] := 666; end; Β var b: IntArr; ... b[0] := 777; Trap(b); writeln(b[0]); // Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ 666
ΠΡΠ΅ Π² Delphi ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΠ½ΠΈ ΠΏΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ Π²ΠΈΠ΄Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅:
procedure print1(a: array of integer); var i: integer; begin for i:=0 to High(a)-1 do write(a[i],' '); end;
Π‘ΠΌΡΡΠ» Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π½Π° ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎ Π·Π°ΠΏΠΈΡΡ array of integer ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΎΠΌ ΡΠΌΡΡΠ»Π΅! ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΎΡ ΠΎΡΠΊΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² PascalABC.NET. ΠΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ!
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π² PascalABC.NET.
1. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ:
var a: array of integer := (1,3,5);
2. ΠΡΠ΄Π΅Π»ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ new:
a := new integer[5];
Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΠΎΡΠΎΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π΅Ρ, ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² .NET ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ. ΠΠ»ΠΎΡ ΠΆΠ΅ ΠΎΠ½ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΡΠ°ΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅ΡΡΠ΅ΡΡΡ.
3. ΠΠ°ΠΊ ΠΌΡ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² PascalABC.NET ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ, Π° Π·Π½Π°ΡΠΈΡ, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
a.Length — ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅Π΅ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
System.Array.Sort(a) — ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΡΠΎΡΡΠΈΡΡΡΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² a ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ
System.Array.Reverse(a) — ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΈΠ½Π²Π΅ΡΡΠΈΡΡΡΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ a
ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅.
4. ΠΠ»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² PascalABC.NET ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ² (Π² Delphi — ΠΈΠΌΠ΅Π½Π½Π°Ρ). ΠΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π² PascalABC.NET Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π° Π² Delphi Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
var b1: array of integer; b2: array of integer; ... b1 := b2;
5. ΠΠ²ΠΈΠ΄Ρ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
procedure print(a: array of integer); begin for var i:=0 to a.Length-1 do write(a[i],' '); end;
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² PascalABC.NET ΠΎΡΡΡΡΡΡΠ²ΡΡΡ!
6. ΠΠ»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» foreach (ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅):
foreach x: integer in a do write(x,' ');
Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠΊΠ°ΠΆΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΏΡΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ. ΠΠ½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° m Π½Π° n:
var Ρ: array of array of integer; m,n: integer; ... read(m,n); SetLength(Ρ,m); for var i:=0 to m-1 do SetLength(c[i],n);
ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΡΠΎΡΠΌΠ°Ρ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ Π½Π° ΠΠΈΡΠΎΠ½Π΅
Python β ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΠ, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π‘ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Python ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ, Π³Π΄Π΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π»ΡΠ±ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅ΠΌΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ:
ΠΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ Π² Python:
Prime = ['string1', 'string2', 'string3'] Prime[1] = 'string2'; //trueΠ§ΡΠΎΠ±Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²Π½ΡΡΡΠΈ ΡΠΏΠΈΡΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ len():
ΠΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΊΠ» for. Π Β«ΠΠΈΡΠΎΠ½Π΅Β» ΡΡΠΎΡ ΡΠΈΠΊΠ» ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π° Π½Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠ°ΠΊ Π² Pascal:
ΠΠ΄ΡΠΌ Π΄Π°Π»ΡΡΠ΅. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠΊΠ» Π² Python ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ². ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠ½ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅:
[Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° for ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ in ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²];ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ, Π° Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ ΠΎΠ½ Π² Python ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΡΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ ΡΠ°ΠΊ:
[[0 for j in range(m)] for i in range(n)]ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π² Python?
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΡ (matrix) Π² Python ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ, ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠΈΡΠΎΠΊΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ, ΡΡΠΎΠ±Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠ½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ:
Π€ΡΠ½ΠΊΡΠΈΡ array() β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎ- ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² Python. ΠΠ½Π° ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° ndarray:
array = np.array(/* ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² */)ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ array.type() β ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½.
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ dtype=np.complex:
array2 = np.array([ /*ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ*/, dtype=np.complex)ΠΠΎΠ³Π΄Π° ΡΡΠΎΠΈΡ Π·Π°Π΄Π°ΡΠ° Π·Π°Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π² Python, ΠΈ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Ρ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΡΠ»ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ zeros(). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡ ones(). ΠΡΠΈ ΡΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΈΡΠ»ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π²Π½ΡΡΡΠΈ:
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ°ΠΊ Π² Python ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π²Π½ΡΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ ΠΈΠΌΠ΅ΡΡ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
array([ [[0, 0]] [[0, 0]]] )ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ²Π΅ΡΡΠΈ ΠΎΠ΄Π½ΠΎ- Π»ΠΈΠ±ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π° ΡΠΊΡΠ°Π½, Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ print(). Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ, NumPy ΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΠΈ Π²ΡΠ²Π΅Π΄Π΅Ρ Π»ΠΈΡΡ ΠΊΡΠ°ΠΉΠ½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°Π±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ set_printoptions(). ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π½Π΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΡΡΠΈ. Π ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ threshold.
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² NumPy
ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°Π΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΠΌΠ°ΡΡΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ:
array1 = np.array([[1, 2, 3], [1, 2, 3]]) array2 = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ array1 + array2, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΊΠ°ΠΆΠ΅Ρ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π° Π²ΡΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ matrix ΡΠ°Π²Π΅Π½ Π΄Π²ΡΠΌ, Π° Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΡΠΌ.
array1 = np.array([1, 2, 5, 7]) array2 = arange([1, 5, 1])Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ array1 + array2 Π²Π΅ΡΠ½ΡΡ Π½Π°ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ: 2, 4, 8, 11. ΠΠ΄Π΅ΡΡ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ. ΠΊ. ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ. ΠΡΠΈΡΡΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ»Π°ΡΡ ndarray sum():
np.array(array1 + array1) == array1 + array2Π ndarray Π²Ρ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π€ΠΎΡΠΌΠ° ΠΌΠ°ΡΡΠΈΡΡ Π² Python
Lenght matrix (Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΡΡΠΈΡΡ) Π² Python ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΠΌΡ. ΠΠ»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ shape().
ΠΠ°ΡΡΠΈΠ² Ρ 2-ΠΌΡ Π»ΠΈΠ±ΠΎ 3-ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΌΡ (2, 2, 3). Π ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π² shape() Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ: ΠΏΠ΅ΡΠ²ΡΠΉ β ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π²ΡΠΎΡΠΎΠΉ β ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Π°.
Π’Π΅ ΠΆΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΡ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ reshape(). ΠΠ΄Π΅ΡΡ lenght ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ matrix ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠΈΡΠ»ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ ΡΡΡΠΎΠΊ.
ΠΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΡΠΎΡΠΌΠΎΠΉ. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡΡ Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΏΡΡΡΠΌ Π²ΡΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ. Π ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π² ΠΌΠ°ΡΡΠΈΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ transpose().
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΡΠ΅Π·Π°ΠΌΠΈ matrix Π² Python
Π§Π°ΡΡΠΎ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π΅ Ρ ΡΠ΅Π»ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π° Ρ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ»Π°ΠΉΡ (ΡΡΠ΅Π·). ΠΠ½ ΠΏΡΠΈΡΠ΅Π» Π½Π° Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΠΊΠ»Ρ for, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π»ΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΡ. ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΏΠΈΠΈ matrix, ΠΏΡΠΈΡΡΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ [start:stop:step]. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ start β ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±Π΅ΡΡΡΡΡ ΠΎΡΡΡΡΡ, stop β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, step β ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π³Π° ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ start ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ, stop β ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, step β Π΅Π΄ΠΈΠ½ΠΈΡΠ΅. ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² otus = [1, 2, 3, 4]. ΠΠ»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ otus[:]. Π ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ [1, 2, 3, 4]. ΠΠΎ Π΅ΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠ°Π½Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, -2, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΠΆΠ΅ Π΄ΡΡΠ³ΠΈΡ Π΄Π°Π½Π½ΡΡ :
ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΡ ΠΎΠ΄Π½ΠΎ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ ΡΠ°Π³ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, otus[::2] ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²ΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ [1, 3].
ΠΡΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, [::-2] ΠΎΡΡΡΡΡ Π½Π°ΡΠ½ΡΡΡΡ Ρ ΠΊΠΎΠ½ΡΠ°, ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ Π²ΡΠ²ΠΎΠ΄ [3, 1]. ΠΡΡΠ°ΡΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ΅Π·Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π² Python.
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅? ΠΠ°ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° ΠΊΡΡΡ Β«Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ PythonΒ»!
Π Π°Π±ΠΎΡΠ° Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π½Π° Π‘ΠΈ. Π§Π°ΡΡΡ 1
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ , ΡΠ°Π·Π±Π΅ΡΡΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² Π‘ΠΈ. Π’Π΅ΠΌΠ° Π½Π΅ΡΠ»ΠΎΠΆΠ½Π°Ρ, Π΄ΡΠΌΠ°Ρ, Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·Π±Π΅ΡΡΡΠ΅ΡΡ. ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½ΡΠΌ.
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² array_int[N] (N = 34) ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° [-83; 90] ΠΈ ΠΌΠ°ΡΡΠΈΠ² array_double[N] Π΄ΡΠΎΠ±Π½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° [-2.38; 6.57]. ΠΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π° ΡΠΊΡΠ°Π½ Π² Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² ΡΠ°ΠΉΠ» Π² Π΄Π²Π° ΡΡΠΎΠ»Π±ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Β«array_int[ΠΈΠ½Π΄Π΅ΠΊΡ] = Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅; array_double[ΠΈΠ½Π΄Π΅ΠΊΡ]= Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β».
ΠΠΎΠ΄:
#include <stdio.h> #include <stdlib.h> #define N 34 int main(void) { FILE*file; file = fopen("file.txt","w"); int array_int[N], i, j; for (i = 1; i <= N; i++){ array_int[i] = -83 +rand() % (90 + 83 + 1); printf("%d ", array_int[i]); } printf("\n"); double array_double[N],t; for (j = 1; j <= N;){ t = rand() % 8 - 2 + (rand() % 95 - 38) / 100.0; if ((t <= 6.57 ) && (t >= -2.38)) { array_double[j] = t; printf("%.2lf ", array_double[j]); j++; } } for (i = 1; i <= N; i++){ fprintf(file, "array_int[%d] = %d\t array_double[%d] = %.2lf \n ", i, array_int[i], i, array_double[i]); } fclose(file); return EXIT_SUCCESS; }ΠΡΠ²ΠΎΠ΄:
ΠΠΎΠΌΠ°Π½Π΄ Π½ΠΎΠ²ΡΡ Π½Π΅Ρ, Π½ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΠΈΠ·ΡΠΌΠΈΠ½ΠΊΠ΅ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠΈΠΊΠ»Π΅ (ΠΏΡΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°):
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Π΄ΡΠΎΠ±Π½ΡΠΌΠΈ Β«ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠΌΠΈΒ» ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° [-2.38; 6.57], Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° rand() % 8 β 2, Π³Π΄Π΅ 8 ΡΡΠΌΠΌΠ° ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ΅Π» Ρ Π³ΡΠ°Π½ΠΈΡΡ (-2.38 ΠΈ 6.57), Π·Π°ΡΠ΅ΠΌ ΡΠΆΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΠΎΠ±Π½ΡΡ ΡΠ°ΡΡΡ (rand() % 95 β 38) / 100.0, Π³Π΄Π΅ 95 ΡΡΠΌΠΌΠ° Π³ΡΠ°Π½ΠΈΡ ( 38 + 57 ).
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ if ((t = -2.38)), ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.Π ΡΠ°ΠΊΠΆΠ΅ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ Ρ ΡΠΈΠΊΠ»Π° for ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ j ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π°, Π½ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π΅Π³ΠΎ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ:ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² array[20] ΡΡΠ΅ΠΏΠ΅Π½ΡΠΌΠΈ ΡΠΈΡΠ»Π° 2, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΌΠΈΠ½ΡΡ ΠΏΡΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ. ΠΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ² Π½Π° ΡΠΊΡΠ°Π½ Π² ΡΡΡΠΎΠΊΡ.
ΠΠΎΠ΄:
#include <stdio.h> #include <stdlib.h> #include <math.h> #define N 20 int main(void) { int i,k; k = -5; double array[N]; for (i = 0; i < N; i++){ array[i] = pow(2,k); k++; printf("%.3lf ", array[i]); } return EXIT_SUCCESS; }ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠΈΠ»ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² ΡΡΠ°ΡΡΡΡ , ΡΠΎ ΡΡΠΎ Π΄Π»Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ, ΠΏΠ°Π»ΡΡΡ ΡΠ°Π·ΠΌΡΡΡ =)
ΠΠ΄Π΅ΠΌ Π΄Π°Π»ΡΡΠ΅.ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 15 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° [-30; 16]. ΠΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ ΠΌΠ°ΡΡΠΈΠ² Π² ΡΡΡΠΎΠΊΡ. ΠΠ°ΠΉΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Ρ ΠΊΠΎΠ½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΡΠ°ΡΠ½ΠΎ 7, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΠ΅Π» Π½Π΅Ρ, ΡΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΈΡΠ΅Π» ΠΊΡΠ°ΡΠ½ΡΡ ΡΠ΅ΠΌΠΈ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break.
#include <stdio.h> #include <stdlib.h> #define N 15 int main(void) { int mas[N], i, k = 0; for (i = 0; i < N; i++){ mas[i] = - 30 + rand() % (16 + 30 + 1); printf("%d ", mas[i]); } for (i = N - 1; i >= 0; i--){ if (mas[i] % 7 == 0) { printf("\n%d", mas[i]); k = 1; break; } } if (k == 0) printf("Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ"); return EXIT_SUCCESS; }Break β ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΠ»Π° ΠΈ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· Π½Π΅Π³ΠΎ, Π·Π°ΠΏΡΡΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π΅ΡΠ»ΠΎΠΆΠ΅Π½.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ:ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 20-ΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠ°ΠΉΠ»Π° input.txt ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΌΠ½ΠΎΠΆΠΈΠ² ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° 2, Π° Π½Π΅ΡΠ΅ΡΠ½ΡΠ΅ β Π½Π° 3. ΠΡΠ²Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π° ΡΠΊΡΠ°Π½ Π½Π° Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
#include <stdio.h> #include <stdlib.h> int main(void) { FILE*input; input = fopen("input.txt","r"); int mas[20],i; for (i = 1; i <= 20; i++){ fscanf(input, "%d", & mas[i]); printf("%d ", mas[i]); } printf("\n"); for (i = 1; i <= 20; i++){ if (mas[i] % 2 == 0){ mas[i] *= 2; } else { mas[i] *= 3; } printf("%d ", mas[i]); } fclose(input); return EXIT_SUCCESS; }ΠΠ²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄:
Π’ΡΡ ΡΠΎΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΡΡΠΎΠΌ ΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ.=)
ΠΠΎΡ ΠΈ Π²ΡΡ. ΠΠΈΡΠΈΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅, Π²ΡΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠΈΠΌ.
ΠΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π±Π΅Π· ΡΠ°ΠΉΠ»ΠΎΠ² txt.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ β 1
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ β 2
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ β 3
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ β 4ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ:
ΠΠΎΡ ΠΎΠΆΠ΅Π΅
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Π‘ΠΈ
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 1
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Π‘ΠΈ β ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π§ΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡ Π½ΡΠ»Ρ Π΄ΠΎ ΡΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²). ΠΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΡΠΎΡΡΠΎΡΡΠΈΠΌ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΈΠ· ΡΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π²Π°Π΄ΡΠ°ΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±ΡΡΠΌ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ» Π·Π°ΡΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ. Π’ΠΎ Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΎ ΠΌΠ°Π»ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠ° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ: malloc() ΠΈΠ»ΠΈ ΡΠ°11ΠΎΡ(). ΠΠΎΠΌΠ°Π½Π΄Π° malloc() Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅ΡΡΠΎ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ stdlib.h ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅:
void *ΡΠ°11ΠΎΡ (ΡΠΈΡΠ»ΠΎ Π±Π°ΠΉΡ)
ΠΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ², ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ². Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ malloc() Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°ΠΊ:
(int *)
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ malloc() Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ Π±Π°ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΡΡ. Π§ΠΈΡΠ»ΠΎ Π±Π°ΠΉΡΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΡΠΌ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. Π’ΠΎ Π΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ², Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ Π΄Π΅ΡΡΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», ΡΡΠ½ΠΊΡΠΈΡ malloc() Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠ°ΠΊ:
ΠΠΎΡΠΎΠ²ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΠ΅ΠΌΡ
(int ) malloc(10 sizeof(int)))
Π ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ new ΠΈ delete, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠΎΠΌΠ°Π½Π΄Π° new Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ· ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° delete ΠΎΡΠΈΡΠ°Π΅Ρ ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΡΠΈΡΠ΅Π½Π° ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ new ΠΈ delete ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΏΠ°ΡΠ΅. ΠΡΠ»ΠΈ Π½Π΅ ΠΎΡΠΈΡΠ°ΡΡ ΠΏΠ°ΠΌΡΡΡ Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΡΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π‘++ delete.
ΠΠΎΠΌΠ°Π½Π΄Π° new Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π° ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π΅Ρ Π² Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ°, ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°Ρ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΌΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΏΠΎΠ΄ Π»ΡΠ±ΠΎΠΉ Π²ΠΈΠ΄ Π΄Π°Π½Π½ΡΡ : int, float, double, char ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄ΡΠΌ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
float *ptrarray = new float [10]; // ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π° Π΄Π΅ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
// Π·Π΄Π΅ΡΡ ptrarray β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΠΏΠ° float.
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΈΡΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΄Π΅Π»ΡΠ»Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ:
delete [] ptrarray; // ΠΎΡΠΈΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΄Π΅Π»ΡΠ»Π°ΡΡ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ².
ΠΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ delete Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π²Β C
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π―Π Π²ΡΠΎΠ΄Π΅ JS, ΡΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Π‘ ΠΌΠΎΠ³ΡΡ Π²Π²Π΅ΡΡΠΈ Π²Π°Ρ Π² ΡΡΡΠΏΠΎΡ.
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
ΠΠ°ΡΡΠΈΠ² Π² JavaScript:
let numbers = []; numbers.push(1); numbers.push(2); numbers.push(3); console.log(numbers); // [1, 2, 3]ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π±Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΌΠ°ΡΡΠΈΠ² Π² JS. Π₯ΠΎΡΠΎΡΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ.
ΠΠ°ΡΡΠΈΠ² Π² C:
int numbers[3];numbers[0] = 1; numbers[1] = 2; numbers[2] = 3;printf("%d\n", numbers[0]); // 1 printf("%d\n", numbers[1]); // 2 printf("%d\n", numbers[2]); // 3ΠΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
numbers[3]
Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΡ ΡΠ°Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΠΈ 3 ΡΠΈΡΠ»Π°. ΠΠ°Π»Π΅Π΅ ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ 1,2 ΠΈ 3 ΠΏΠΎΠ΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ.
ΠΠΎΠΊΠ° Π²ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, Π½ΠΎ Π½ΠΎ Π½Π΅Π»ΡΠ·Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:int numbers[3];numbers[0] = 1; numbers[1] = 2; numbers[2] = 3; numbers[3] = 4;printf("%d\n", numbers[0]); // 1 printf("%d\n", numbers[1]); // 2 printf("%d\n", numbers[2]); // 3 printf("%d\n", numbers[3]); // should be 4Π ΡΡΠΎ Π½Π° ΡΡΠΎ ΡΠΊΠ°ΠΆΠ΅Ρ
gcc
?:array.c:8:5: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π³ΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΅ΡΡΠ° Π² Π½Π°ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΌΠ΅ΡΡΠΈΡΡ Π΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
Π§ΡΠΎ ΠΆΠ΅, Π΅ΡΠ»ΠΈ ΠΌΡ Π½ΡΠΆΠ΄Π°Π΅ΠΌΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡn
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²?ΠΠ° Π‘ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΡΡΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±Π»ΠΎΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ.malloc, realloc ΠΈΒ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (pointers)
Π Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°:
Π’ΠΈΠΏ | Π Π°Π·ΠΌΠ΅Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° | ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ |
---|---|---|
char | 1 byte | -128 Π΄ΠΎ 127 ΠΈΠ»ΠΈ 0 Π΄ΠΎ 255 |
unsigned char | 1 byte | 0 Π΄ΠΎ 255 |
signed char | 1 byte | -128 Π΄ΠΎ 127 |
int | 2 ΠΈΠ»ΠΈ 4 bytes | -32,768 Π΄ΠΎ 32,767 ΠΈΠ»ΠΈ -2,147,483,648 Π΄ΠΎ 2,147,483,647 |
unsigned int | 2 ΠΈΠ»ΠΈ 4 bytes | 0 Π΄ΠΎ 65,535 ΠΈΠ»ΠΈ 0 Π΄ΠΎ 4,294,967,295 |
short | 2 bytes | -32,768 to 32,767 |
unsigned short | 2 bytes | 0 Π΄ΠΎ 65,535 |
long | 8 bytes | -9223372036854775808 Π΄ΠΎ 9223372036854775807 |
unsigned long | 8 bytes | 0 Π΄ΠΎ 18446744073709551615 |
Π ΠΌΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΎ 4 Π±Π°ΠΉΡΠ° Π΄Π»Ρ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» (integers). ΠΡΠΎΡΡΠΎ ΠΈΠΌΠ΅Ρ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
Π Π°Π·ΠΌΠ΅Ρ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ sizeof(int), sizeof(double)
ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ΅Ρ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ ΡΡΠ΅Π±ΡΡΡΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ malloc ΠΈ realloc ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΡΠ°ΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΡΠ°Π½ΠΈΡΡ 3 ΡΠ΅Π»ΡΡ ΡΠΈΡΠ»Π° (integers),ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π²ΡΠ΄Π΅Π»ΠΈΠ² Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ· 12 Π±Π°ΠΉΡ:
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ malloc ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² Π±Π°ΠΉΡΠ°Ρ
. Malloc
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ(pointer) Π½Π° Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ.
#define INITIAL_CAPACITY 3
int main(){ int* data = malloc(INITIAL_CAPACITY * sizeof(int)); }
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ, ΡΡΠΎΠ±Ρ Π²ΠΌΠ΅ΡΡΠΈΡΡ Π½Π°ΡΠΈ 3 ΡΠ΅Π»ΡΡ ΡΠΈΡΠ»Π° — Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π²ΡΠ΅ Π΅ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ 3-Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π½Π°Ρ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠ»ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π΅ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΡΠ»ΠΈ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½, ΡΠ΄Π²ΠΎΠΈΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠ·Π²ΠΎΠ²Π° realloc
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ.
#define INITIAL_CAPACITY 3
void push(int *arr, int index, int value, int *size, int *capacity){ int* ptr; if(*size > *capacity){ ptr = realloc(arr, sizeof(arr) * 2); if(ptr == NULL) exit(0); else *capacity = sizeof(arr) * 2; } Β arr[index] = value; *size = *size + 1; }
int main(){ int size = 0; int capacity = INITIAL_CAPACITY; int* arr = malloc(INITIAL_CAPACITY * sizeof(int)); }
Π’Π΅ΠΏΠ΅ΡΡ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ.
Π‘ΠΎΠ±ΡΠ°Π² Π²ΡΠ΅ ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
#include <stdio.h> #include <stdlib.h> Β #define INITIAL_CAPACITY 2 Β void push(int *arr, int index, int value, int *size, int *capacity){ int* ptr; if(*size > *capacity){ ptr = realloc(arr, sizeof(arr) * 2); if(ptr == NULL) exit(0); else *capacity = sizeof(arr) * 2; } Β arr[index] = value; *size = *size + 1; } Β int main(){ int size = 0; int capacity = INITIAL_CAPACITY; int* arr = malloc(INITIAL_CAPACITY * sizeof(int)); if(arr == NULL) { printf("Memory not allocated.\n"); exit(0); } else { push(arr, 0, 1, &size, &capacity); push(arr, 1, 2, &size, &capacity); push(arr, 2, 3, &size, &capacity); Β printf("Current capacity: %d\n", capacity); // Current capacity: 2 Β push(arr, 3, 4, &size, &capacity); push(arr, 4, 5, &size, &capacity); push(arr, 5, 6, &size, &capacity); Β printf("Current capacity: %d\n", capacity); // Current capacity: 16 } }
ΠΠ°ΡΡΠΈΠ²Ρ Π² Π‘ΠΈ Π¨Π°ΡΠΏ (C#) Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΠ΅ ΠΎΡ Loftblog
ΠΡΠ΅ΠΌ Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ! ΠΠ° ΠΏΡΠΎΡΠ»ΡΡ Π²ΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊΠ°Ρ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΠΠΠ: Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠ΅ΠΉ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠΎΠΌ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Π‘ΠΈ Π¨Π°ΡΠΏ ΠΈ Π½Π°ΡΡΠΈΠΌΡΡ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ
ΠΠ° ΠΏΡΠΎΡΠ»ΡΡ Π²ΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊΠ°Ρ ΠΌΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡΠΎ ΡΡΠ΅ΠΉΠΊΠ° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. Π’Π°ΠΊ Π²ΠΎΡ, ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Π‘ΠΈ Π¨Π°ΡΠΏ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΈΡ ΡΡΠ΅Π΅ΠΊ, ΡΠΎ Π΅ΡΡΡ ΡΡΠΎ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΡΡΠ΅Π΅ΠΊ.
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² β ΡΡΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½Π°Ρ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Π½Π΅ΠΌ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΏΡΠΈΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½ΡΠ»Ρ. ΠΠ°ΡΡΠΈΠ²Ρ Π±ΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ (ΠΎΠ±ΡΡΠ²Π»ΡΡΡ) ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π² Π‘ΠΈ Π¨Π°ΡΠΏ. Π Π°Π·Π΄Π΅Π»ΠΈΠΌ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ Π½Π° Π΄Π²Π΅ ΡΠ°ΡΡΠΈ: ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ.
ΠΡΠ°ΠΊΡΠΈΠΊΠ° Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π² Π‘ΠΈ Π¨Π°ΡΠΏ
ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ, β ΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ (ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ) ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ±ΡΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π²ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
- ΡΠΈΠΏ[] ΠΈΠΌΡ_ΠΌΠ°ΡΡΠΈΠ²Π° = new ΡΠΈΠΏ[ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ_ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ];
- ΡΠΈΠΏ[] ΠΈΠΌΡ_ΠΌΠ°ΡΡΠΈΠ²Π° = new ΡΠΈΠΏ[] {ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅_Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ};
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π‘ΠΈ Π¨Π°ΡΠΏ β ΠΌΠ°ΡΡΠΈΠ² ΠΌΠ΅ΡΡΡΠ΅Π² ΠΈ ΠΌΠ°ΡΡΠΈΠ² Π΄Π½Π΅ΠΉ:
string[] mounths = new string[] {«January», «February», «March»};
string[] days = new string[7];
| string[] mounths = new string[] {«January», «February», «March»}; string[] days = new string[7]; |
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 0. ΠΠ±ΡΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ:
ΠΈΠΌΡ_ΠΌΠ°ΡΡΠΈΠ²Π°[ΠΈΠ½Π΄Π΅ΠΊΡ_ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°] = Π·Π½Π°ΡΠ΅Π½ΠΈΡ;
| ΠΈΠΌΡ_ΠΌΠ°ΡΡΠΈΠ²Π°[ΠΈΠ½Π΄Π΅ΠΊΡ_ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°] = Π·Π½Π°ΡΠ΅Π½ΠΈΡ; |
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π½Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«MondayΒ»:
ΠΡΠ°ΠΊΡΠΈΠΊΠ° Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π² Π‘ΠΈ Π¨Π°ΡΠΏ
ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π² Π‘ΠΈ Π¨Π°ΡΠΏ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ², ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΠΉ Π΄Π²ΡΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ. ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΡΡΡΠΎΡΠΊΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΡ, Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ°ΠΊ ΠΆΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Π‘ΠΈ Π¨Π°ΡΠΏ? ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ:
- ΡΠΈΠΏ[,] ΠΈΠΌΡ_ΠΌΠ°ΡΡΠΈΠ²Π° = new ΡΠΈΠΏ[,] {{_, _}, β¦, {_, _}};
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΡΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π‘ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΡΠ΅ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΌΡ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΆΠ΅ Π΄Π²Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ° β Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ, Π° ΠΏΠΎΡΠΎΠΌ Π½ΠΎΠΌΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠ°.
ΠΠ° ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ Π½Π°Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² Π‘ΠΈ Π¨Π°ΡΠΏ, Π·Π°Π²Π΅ΡΡΠΈΡΡΡ! ΠΠ°Π΄Π΅Π΅ΠΌΡΡ,ΡΡΠΎ ΠΎΠ½ ΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΠ·Ρ. ΠΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΡΡΠ΅Ρ!
ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°! Π£ΡΠΈΡΠ΅ΡΡ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ! ΠΡΠ΅Π³Π΄Π° Π²Π°Ρ LoftBlog.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΊΡΡΡΡ
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° — cppreference.com
ΠΠ°ΡΡΠΈΠ² — ΡΡΠΎ ΡΠΈΠΏ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π΅ΠΏΡΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ
ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° . ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°) Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΊΠ° ΡΠ»ΡΠΆΠ±Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
[ΠΏΡΠ°Π²ΠΈΡΡ] Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΠΏΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°), Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠΌΡ:
[ static (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) ] attr-spec-seq (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) | (1) | ||||||||
[ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) ] attr-spec-seq (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) | (2) | ||||||||
[ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) * ] attr-spec-seq (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) | (3) | ||||||||
1,2) ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°
3) ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡ Π΄Π»Ρ VLA Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° (ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ)
Π³Π΄Π΅
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ | — | Π»ΡΠ±ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΡΠΎΠΌΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π·Π°ΠΏΡΡΠΎΠΉ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ |
ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ | — | Π»ΡΠ±Π°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² const , restrict ΠΈΠ»ΠΈ volatile , ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΏΠΈΡΠΊΠ°Ρ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ; ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° |
attr-spec-seq | — | (C23) Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ |
float fa [11], * afp [17]; // fa - ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 11 ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ // afp - ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 17 ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΈΠΏΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²: ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°
ΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ»Ρ, Π° ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° — ΡΡΠΎ ΡΠΈΠΏ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ (ΡΠΎ Π΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ VLA) (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C99), ΡΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°:
int n [10]; // ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ - ΡΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ char o [sizeof (Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ)]; // sizeof - ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ {MAX_SZ = 100}; int n [MAX_SZ]; // ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
int a [5] = {1,2,3}; // ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ int [5] ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π΄ΠΎ 1,2,3,0,0 char str [] = "abc"; // ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ char [4] ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΊΠ°ΠΊ 'a', 'b', 'c', '\ 0'
Π ΡΠΏΠΈΡΠΊΠ°Ρ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡΠ°Ρ
ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°: ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π³Π΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ void fadd (double a [static 10], const double b [static 10]) { for (int i = 0; i <10; i ++) { Π΅ΡΠ»ΠΈ (a [i] <0,0) Π²ΠΎΠ·Π²ΡΠ°Ρ; Π° [Ρ] + = Π¬ [Ρ]; } } // Π²ΡΠ·ΠΎΠ² fadd ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π³ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ // Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΡΠ°ΠΊΡΡ ββΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π²ΡΠ±ΠΎΡΠΊΠ° 10 Π΄Π²ΠΎΠΉΠ½ΡΡ int main (ΠΏΡΡΡΠΎ) { Π΄Π²Π°ΠΆΠ΄Ρ a [10] = {0}, b [20] = {0}; ΠΏΡΠΈΡΡΠ΄Π° (Π°, Π±); // OK Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ x [5] = {0}; ΠΏΡΠΈΡΡΠ΄Π° (Ρ , Π±); // Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅: ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° } ΠΡΠ»ΠΈ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ, ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΡΠΈΠΏ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°: int f (const int a [20]) { // Π² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ a ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ const int * (ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° const int) } int g (const int a [const 20]) { // Π² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ a ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ const int * const (ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° const int) } ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΈΠΏΠ° void fadd (double a [static restrict 10], const double b [ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ 10]) { for (int i = 0; i <10; i ++) {// ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ Π΅ΡΠ»ΠΈ (Π° [Ρ] <0.0) ΠΏΠ΅ΡΠ΅ΡΡΠ²; Π° [Ρ] + = Π¬ [Ρ]; } } ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΡΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΈ ΠΎΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ»Ρ), ΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ VLA Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ). ). Π Π°Π·ΠΌΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° VLA Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΡΡΠΎΠΊΠ° ΡΠ»ΡΠΆΠ±Ρ, Π½ΠΎ ΠΏΡΠΈ Π΄ΡΡΠ³ΠΎΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΠΏΠΎ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΊΠΎΠ΄Ρ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ. { int n = 1; ΠΌΠ΅ΡΠΊΠ°: int a [n]; // ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 10 ΡΠ°Π·, ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ printf ("Π ΠΌΠ°ΡΡΠΈΠ²Π΅% ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² zu \ n", sizeof a / sizeof * a); if (n ++ <10) ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΌΠ΅ΡΠΊΠ΅; // Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ VLA Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ } ΠΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π²Π΅Π½ void foo (size_t x, int a [*]); void foo (size_t x, int a [x]) { printf ("% zu \ n", ΡΠ°Π·ΠΌΠ΅Ρ a); // ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ sizeof (int *) } ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΎΡ Π½ΠΈΡ ΡΠΈΠΏΡ (ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° Π½ΠΈΡ ΠΈ Ρ. Π.) ΠΠ±ΡΡΠ½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΊΠ°ΠΊ Β«ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΏΡΒ» (VM). ΠΠ±ΡΠ΅ΠΊΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π»ΠΎΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. extern int n; int A [n]; // ΠΡΠΈΠ±ΠΊΠ°: ΠΎΠ±Π»Π°ΡΡΡ ΡΠ°ΠΉΠ»Π° VLA Π²Π½Π΅ΡΠ½ΠΈΠΉ int (* p2) [n]; // ΠΡΠΈΠ±ΠΊΠ°: Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Ρ ΠΎΠ±Π»Π°ΡΡΡΡ ΡΠ°ΠΉΠ»Π° int B [100]; // ΠΠ: ΠΌΠ°ΡΡΠΈΠ² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° void fvla (int m, int C [m] [m]); // ΠΠ: ΠΏΡΠΎΡΠΎΡΠΈΠΏ VLA VLA Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ.Π£ΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° VLA, Π½ΠΎ Π½Π΅ ΡΠ°ΠΌΠΈ VLA, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΠ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·ΠΈ. void fvla (int m, int C [m] [m]) // ΠΠ: ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π»ΠΎΠΊΠ° / Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° VLA { typedef int VLA [ΠΌ] [ΠΌ]; // ΠΠ: Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ VLA int D [ΠΌ]; // OK: ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±Π»ΠΎΠΊΠ° / Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ VLA // ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ int E [m]; // ΠΡΠΈΠ±ΠΊΠ°: ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ VLA // Π²Π½Π΅ΡΠ½ΠΈΠΉ int F [m]; // ΠΡΠΈΠ±ΠΊΠ°: VLA Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΎΠΉ int (* s) [ΠΌ]; // ΠΠ: ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±Π»ΠΎΠΊΠ° / Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΠ s = malloc (m * sizeof (int)); // ΠΠ: s ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° VLA Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ // extern int (* r) [m]; // ΠΡΠΈΠ±ΠΊΠ°: ΠΠ Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΎΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ int (* q) [ΠΌ] = & B; // ΠΠ: ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±Π»ΠΎΠΊΠ° / Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ} } ΠΠ°ΡΠΈΠ°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΏΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΡΡΡΡΠΊΡΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ. struct tag { int z [n]; // ΠΡΠΈΠ±ΠΊΠ°: ΡΠ»Π΅Π½ ΡΡΡΡΠΊΡΡΡΡ VLA int (* y) [n]; // ΠΡΠΈΠ±ΠΊΠ°: ΡΠ»Π΅Π½ ΡΡΡΡΠΊΡΡΡΡ ΠΠ }; | (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C99) |
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ __STDC_NO_VLA__ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ 1, ΡΠΎ ΡΠΈΠΏΡ VLA ΠΈ VM Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. | (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C11) |
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΠ°ΡΡΠΈΠ²Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°
ΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠΏΡΡΠ΅Π½ΠΎ, ΠΎΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.ΠΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ (Π³Π΄Π΅ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ) ΠΈ ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ, ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ VLA Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ *
, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ) (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C99):
Π²Π½Π΅ΡΠ½ΠΈΠΉ int x []; // ΡΠΈΠΏ x - "ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΡ int" int a [] = {1,2,3}; // ΡΠΈΠΏ a - "ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 3 int"
Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅Π½ (Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ»Π΅Π½), ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° .ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π ΡΡΡΡΠΊΡΡΡΠ΅: struct s {int n; Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ d []; }; // s.d - Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠ»Π΅Π½ ΠΌΠ°ΡΡΠΈΠ²Π° struct s * s1 = malloc (sizeof (struct s) + (sizeof (double) * 8)); // ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ d Π±ΡΠ»ΠΎ Π΄Π²ΠΎΠΉΠ½ΡΠΌ d [8] | (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C99) |
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ
ΠΡΠ»ΠΈ ΡΠΈΠΏ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° | (Π΄ΠΎ C23) |
Π’ΠΈΠΏ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΡΠΈΠΏ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅Π³Π΄Π° ΡΡΠΈΡΠ°ΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎ ΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΈΠΏ ΠΌΠ°ΡΡΠΈΠ²Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ | (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C23) |
typedef int A [2] [3]; const A a = {{4, 5, 6}, {7, 8, 9}}; // ΠΌΠ°ΡΡΠΈΠ² ΠΌΠ°ΡΡΠΈΠ²Π° const int int * pi = a [0]; // ΠΡΠΈΠ±ΠΊΠ°: a [0] ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ const int * void * unqual_ptr = a; // ΠΠ Π΄ΠΎ C23; ΠΎΡΠΈΠ±ΠΊΠ° Ρ C23 // ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ: clang ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² C ++ / C23 Π΄Π°ΠΆΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ°Ρ C89-C17
typedef int A [2]; // _Atomic A a0 = {0}; // ΠΡΠΈΠ±ΠΊΠ° // _Atomic (A) a1 = {0}; // ΠΡΠΈΠ±ΠΊΠ° _Atomic int a2 [2] = {0}; // OK _Atomic (int) a3 [2] = {0}; // ΠΠ | (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C11) |
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ lvalue, ΠΈ, Ρ ΠΎΡΡ ΠΈΡ Π°Π΄ΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π·ΡΡ, ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ.ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ lvalue ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ:
int a [3] = {1,2,3}, b [3] = {4,5,6}; int (* p) [3] = & a; // Ρ ΠΎΡΠΎΡΠΎ, Π°Π΄ΡΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ // a = b; // ΠΎΡΠΈΠ±ΠΊΠ°, a - ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡΠ° {int c [3]; } s1, s2 = {3,4,5}; s1 = s2; // Ρ ΠΎΡΠΎΡΠΎ: ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
ΠΡΠ±ΠΎΠ΅ lvalue-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, ΠΊΡΠΎΠΌΠ΅
ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅ΡΡΡ Π½Π΅ΡΠ²Π½ΠΎΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ lvalue.
ΠΡΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ , ΡΠ΅Π³ΠΈΡΡΡ
, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ.
int a [3] = {1,2,3}; int * p = a; printf ("% zu \ n", ΡΠ°Π·ΠΌΠ΅Ρ a); // Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° printf ("% zu \ n", ΡΠ°Π·ΠΌΠ΅Ρ p); // Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
ΠΠΎΠ³Π΄Π° ΡΠΈΠΏ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ½ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ: int f (int a [2]) ΠΈ int f (int * a) ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ.ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠΏ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ; ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΠ²Π½ΠΎ:
void f (int a [], int sz) // ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ void f (int * a, int sz) { Π΄Π»Ρ (int i = 0; i[ΠΏΡΠ°Π²ΠΈΡΡ] ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
ΠΠΎΠ³Π΄Π° ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° - Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ², Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌ:
// ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 2 ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΠΎ 3 ΡΠ΅Π»ΡΡ ΡΠΈΡΠ»Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ int a [2] [3] = {{1,2,3}, // ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΡΡ 2x3 {4,5,6}}; // Ρ ΠΌΠ°ΠΊΠ΅ΡΠΎΠΌ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, e.Π³., ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ:
int a [2] [3]; // ΠΌΠ°ΡΡΠΈΡΠ° 2x3 int (* p1) [3] = a; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ· 3 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² int b [3] [3] [3]; // ΠΊΡΠ± 3x3x3 int (* p2) [3] [3] = b; // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΡ 3x3
ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ VLA (Π½Π°ΡΠΈΠ½Π°Ρ Ρ C11):
int n = 10; int a [n] [2 * n];(Π½Π°ΡΠΈΠ½Π°Ρ Ρ C99) [ΠΏΡΠ°Π²ΠΈΡΡ] ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π½ΡΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π³ΠΈΠ±ΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎ C99).
ΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° VLA ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΎΠ½ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ sizeof, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π΅Π³ΠΎ:
int n = 5; size_t sz = sizeof (int (*) [n ++]); // ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ n[ΠΏΡΠ°Π²ΠΈΡΡ] Π‘ΡΡΠ»ΠΊΠΈ
Π‘ΡΠ°Π½Π΄Π°ΡΡ
- C17 (ISO / IEC 9899: 2018):
- 6.7.6.2 ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (ΡΡΡ. 94-96)
Π‘ΡΠ°Π½Π΄Π°ΡΡ
- C11 (ISO / IEC 9899: 2011):
- 6.7.6.2 ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (ΡΡΡ: 130-132)
Π‘ΡΠ°Π½Π΄Π°ΡΡ
- C99 (ISO / IEC 9899: 1999):
- 6.7.5.2 ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (ΡΡΡ. 116-118)
- Π‘ΡΠ°Π½Π΄Π°ΡΡ C89 / C90 (ISO / IEC 9899: 1990):
- 3.5.4.2 ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΎΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
[ΠΏΡΠ°Π²ΠΈΡΡ] Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅
ARR02-C. Π―Π²Π½ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π΅ΡΠ²Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ - SEI CERT C Coding Standard
Π‘ΡΠ°Π½Π΄Π°ΡΡ C ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠ°ΠΊ Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΎΠΉ, ΡΠ°ΠΊ ΠΈ Ρ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.ΠΠΈΡΠ΅ΡΠ°Π» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π Π°Π·ΠΌΠ΅Ρ, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²,
ΠΌΠ°ΡΡΠΈΠ² int [] = {1, 2, 3}; / * Π’ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² * /, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ΡΠΌΠ΅ΠΆΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π ΠΏΠΎΠ΄ΠΏΡΠ½ΠΊΡΠ΅ 6.7.9, ΠΏΡΠΈΠΌΠ΅Ρ 12 ΡΡΠ°Π½Π΄Π°ΡΡΠ° C [ISO / IEC 9899: 2011] ΡΠΊΠ°Π·Π°Π½ΠΎ:
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Β«Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎΒ» Ρ ΠΎΠ±ΠΎΠΈΡ ΠΊΠΎΠ½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ:
int a [MAX] = { 1, 3, 5, 7, 9, [MAX-5] = 8, 6, 4, 2, 0 };Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π΅ΡΠ»ΠΈ
MAX
Π±ΠΎΠ»ΡΡΠ΅ Π΄Π΅ΡΡΡΠΈ, Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π±ΡΠ΄ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ Π½ΡΠ»Π΅Π²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ; Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ Π΄Π΅ΡΡΡΠΈ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ ΠΏΡΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°ΠΌΠΈ, Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΡΠΎΡΡΠΌΠΈ ΠΏΡΡΡΡ.Π‘ΡΠ°Π½Π΄Π°ΡΡ C ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ ΡΠ°Π²Π½ΠΎ ΡΠ²Π½ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎΠ΄ΠΏΡΠ½ΠΊΡ 6.7.9, ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΡ 21 ΠΈ 22, Π³Π»Π°ΡΠΈΡ:
ΠΡΠ»ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ², ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ»Π΅Π½ΠΎΠ² Π°Π³ΡΠ΅Π³Π°ΡΠ°, ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ Π»ΠΈΡΠ΅ΡΠ°Π»Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΌ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ΅ΠΌ Π΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΎΡΡΠ°Π²ΡΠ°ΡΡΡ ΡΠ°ΡΡΡ Π°Π³ΡΠ΅Π³Π°ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½Π΅ΡΠ²Π½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Ρ ΡΠ²Π½ΡΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ. Π’ΠΈΠΏ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ².Π₯ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΠΈ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ (Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ) ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»Π°ΠΌΠΈ. Π‘ΠΌ. STR11-C. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠΌ.
ΠΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ)
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°:
Π Π°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
a
ΡΠ°Π²Π΅Π½ 3, Ρ ΠΎΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π²Π½ΠΎ 4.ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (4
) ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΡΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ.ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² GCC. Microsoft Visual Studio Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΡΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ: ΠΎΡΠΈΠ±ΠΊΠ°
C2078: ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ²
.ΠΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° (Π½Π΅ΡΠ²Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° ΡΠ²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊ
4
.ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π³ΡΠ°Π½ΠΈΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ.Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°:
Π―Π²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Ρ ΠΎΡΡ ΠΎΠ½ΠΎ Π½Π΅ΡΠ²Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΡΠ΄Π°Π²Π°ΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ, Π΅ΡΠ»ΠΈ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ .
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ARR02-C-EX1: STR11-C. ΠΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠΌ, - ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ; ΠΎΠ½ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π³ΡΠ°Π½ΠΈΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠΌ, Π½Π΅ Π±ΡΠ»Π° ΡΠΊΠ°Π·Π°Π½Π°.
ΠΡΠ΅Π½ΠΊΠ° ΡΠΈΡΠΊΠΎΠ²
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ
Π‘Π΅ΡΡΠ΅Π·Π½ΠΎΡΡΡ
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ
9
9
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΡΡΠΈ ARR02-C
Π‘ΡΠ΅Π΄Π½ΠΈΠΉ
ΠΠ°Π»ΠΎΠ²Π΅ΡΠΎΡΡΠ½ΠΎ
ΠΠΈΠ·ΠΊΠΈΠΉ
P6
L2
ΠΠΎΠΈΡΠΊ
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅
Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π° ΡΠ°ΠΉΡΠ΅ CERT.
ΠΠ±ΠΎΠ·Π½Π°ΡΡΡΠ΅ Π·Π΄Π΅ΡΡ (ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ)
ΠΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΡ
C ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ°ΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ².
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ C, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ & print ΠΌΠ°ΡΡΠΈΠ². ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ 1 ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
3. ΠΠ½ΡΡΡΠΈ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° for ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ 1 ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΡΠ΅.
4. Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ ΠΌΠ°ΡΡΠΈΠ².ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° / ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
ΠΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ C Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ & print array.ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π° ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Turbo C Π² ΡΡΠ΅Π΄Π΅ Windows. ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅.
/ * * ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° C Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ & ΠΠ΅ΡΠ°ΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° * / #include void incrementArray (int []); ΠΏΡΡΡΠΎ main () { int i; ΠΌΠ°ΡΡΠΈΠ² int [4] = {10, 20, 30, 40}; incrementArray (ΠΌΠ°ΡΡΠΈΠ²); Π΄Π»Ρ (i = 0; i <4; i ++) printf ("% d \ t", array [i]); // ΠΠ΅ΡΠ°ΡΠ°Π΅Ρ 2, 3, 4, 5 } ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΡΡ Array (int arr []) {int
{int
- ;
Π΄Π»Ρ (i = 0; i <4; i ++) arr [i] ++; // ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π² main () }ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
1.