Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π‘, ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠΎΠΉΠΌΠ°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ·ΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ·ΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Linux, ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½Π΅Π»Π΅Π³ΠΊΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ²ΠΈΡΡ Π΅Π΅ Π² Ρ ΠΎΠ΄Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
β‘Β ΠΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π±ΡΠΌΠ°Π³Π΅, ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΠΎΠ½ΠΎΠΌ. ΠΠ»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° Π²Ρ ΠΎΠ΄Π΅ ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅ ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°ΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΏΠΈΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π΄Π΅Π»Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ! Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½Π΅ ΡΠΏΠ΅ΡΠΈΡΠ΅ Π²ΠΈΠ½ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°; Π³ΠΎΡΠ°Π·Π΄ΠΎ Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π·Π°ΠΊΡΠ°Π»Π°ΡΡ Π² Π²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π½Π΅ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ.
ΠΠ±ΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Linux. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠΌΠΎΡΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΠΈΡΡ, ΡΡΠΎ Ρ Π½Π΅ΠΉ Π΄Π΅Π»Π°ΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ½ΠΎΠ²Π° (Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ± ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ), ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΎΡΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ) ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅). ΠΡΠ»Π°Π΄ΠΊΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΠΏΠΎΠ²:
β‘Β ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΏΠΎΠΈΡΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΈΠ·ΡΡΠ½ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ;
β‘Β ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ;
β‘Β Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ β ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅ΠΉ Π·Π° ΠΎΡΠΈΠ±ΠΊΡ;
β‘Β ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ° β ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°;
β‘Β ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° β ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. Π§ΠΈΡΠ°Ρ Π΄Π°Π½Π½ΡΡ Π³Π»Π°Π²Ρ, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ΅ Π·Π°Π΄Π°ΡΠ° β ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
sortitemkeysortqsortΠ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΡΡΡ, Π² Π½Π΅ΠΌ Π½Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², ΠΈ Π°Π²ΡΠΎΡ ΡΠΆΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½. ΠΠ°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π±ΠΈΡΡΡΡ Ρ Π½Π΅ΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ debug1.c.
/*Β 1 */Β typedef struct {/*Β 2 */Β char *data;/*Β 3 */Β int key;/*Β 4 */Β } item;/*Β 5 *//*Β 6 */ item array[] = {/*Β 7 */Β {"bill", 3},/*Β 8 */Β {"neil", 4},/* Β 9 */Β {"john", 2},/*Β 10 */Β {"rick", 5},/*Β 11 */Β {"alex", 1},/*Β 12 */Β };/* 13 *//* 14 */Β sort(a, n)/* 15 */Β item *a;/*Β 16 */Β {/* 17 */Β int i = 0, j = 0;/* 18 */Β int s = 1;/* 19 *//* 20 */Β for(; i < n && s != 0; i++) {/* 21 */Β Β s = 0;/* 22 */Β Β Β for(j = 0; j < n; j++) {/* 23 */Β Β Β if(a[j].key > a[j + 1].key) {/* 24 */Β Β Β Β item t = a[j];/* 25 */Β Β Β Β a[j] = a[j+1];/* 26 */Β Β Β Β a[j+1] = t;/* 27 */Β Β Β Β s++;/* 28 */Β Β Β }/* 29 */Β Β }/* 30 */Β Β n--;/* 31 */Β }/* 32 */ }/* 33 *//* 34 */ main()/* 35 */ {/* 36 */Β sort(array,5);/* 37 */ }Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
$ <b>ΡΡ -ΠΎ debug1 debug1.Ρ</b>ΠΠ½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ, ΠΎΡΡΠ°Π±ΠΎΡΠ°Π»Π° Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ debug2.c.
/* 33 */ #include <stdio.h>/* 34 */ main()/* 35 */ {/* 36 */Β int i;/* 37 */ Β sort(array, 5);/* 38 */ Β for(i = 0; i < 5; i++)/* 39 */Β Β printf("array[3d] = (%s, %d)\n",/* 40 */Β Β Β i, array[i].data, array[i].key);/* 41 */ }ΠΡΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ, ΠΏΠΎΠ·ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ. ΠΡ Π·Π°ΡΡΠ°Π²ΠΈΠ»ΠΈ Π²Π°Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘Π»Π΅Π΄ΡΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²Π½Π΅ΡΡΠΈ Π½ΠΎΠ²ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π²Π°Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π½Π° ΡΡΠΎΡ ΡΠ°Π· Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π΅Π΅:
$ <b>cc -ΠΎ debug2 debug2.Ρ</b>$ <b>./debug2</b>Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Linux (ΠΈΠ»ΠΈ UNIX) ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. Π ΡΠ²ΠΎΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
array[0] = {john, 2}array[1] = {alex, 1}array[2] = {(null), -1}array[3] = {bill, 3}