Массив мл.б. передан целиком из одной ф-ии в др. , но процессы передачи отличаются от передачи простых. Передаются нач. адрес массива ( указатель на нач. эл-т массива, а не сами эл-ты). Программа не контролирует целостность массива ( знач. могут меняться ).
Пример: определить номер min эл-та массива – случайные.
Int rand () – генерирует случ. число целого типа.
Находится в < stdlib.h >
# include < stdio.h >
# include < stdlib.h >
# define DLINA 10
int min_index ( int sp[ ], int ras )
{
int i, miniindex = 0; m;
m = sp [ miniindex ];
for ( i=1; i<ras; i++ )
if ( sp[ i ] < m )
{
m = sp [ i ];
miniindex = i;
}
return miniindex;
}
main ()
{
int k, list [ DLINA ];
for ( k=0; k<DLINA; k++ )
{
list [ k ] = rand ();
printf ( “ Элемент %d=%d\n”, k, list[ k ]);
}
k = miniindex ( list, DLINA ),
printf ( “ Минимальный элемент %d = %d \ n ”, k, list [ k ]);
return 0;
}
Строки
Строкой наз. массив символов. При описании строк вводится понятие “ строковый литерал ” – это послед – ть любых символов заключенных в двойные ковычки.
Строк. литерал в яз. CI размещ. в памяти как массив эл-ов типа char, в конце кот. помещается символ ‘ \ 0 ’ ( терминатор-конец строки )
‘ Адам ’
Т.к. в кач-ве символов использ. коды ASCII – их называют строки в формат ASCIIZ
Адрес, первого символа строков. литерала может использоваться по-разному:
Char array [ ] = “ Слово ”;
Char array [ 6 ] = “ Слово ”;
Char array [ 6 ] = { ‘ c ’, ‘ n ’, ‘ o ’, ‘ в ’, ‘ o ’, ‘ \ o ’ }
Char *string = “ Слово ”;
Char *string 1;
String 1 = “ Литерал ”