Лабораторная работа: Модульное программирование

void main ()

{

int res, A [] = {2,1,3,2};

res = sum (A,

4);

} // вызов функции sum

Формальный аргумент имени массива может иметь вид int *A.

int sum (int *A, int Dim); // прототип

Для определения размера массива при вызове функции можно использовать выражение sizeof (A) /sizeof (int) или sizeof (A) /sizeof (A []). Например,

res = sum (A, sizeof (A) /sizeof (A []));

3.4 Передача двумерных массивов

Способ 1. При передаче двумерного массива в функцию следует учитывать, что количество элементов в строке массива является частью типа имени этого массива. Так например, для массива int A [3] [4] имя массива А имеет тип int (*) [4], т.е. А - это указатель на одномерный массив из 4 элементов типа int .

Поэтому необходимо передавать два параметра: имя массива и количество строк в массиве.

Пример.

int sum2 (int A [] [4], int M); // прототип

int sum2 (int A [] [4], int M); // заголовок

{

….

} // телофункции

void main ()

{

int res, A [] [4] = {{2,1,3,2}, {2,3,4,5}}; // двестроки, четырестолобца

res = sum2 (A,

2); // вызовфункции sum2

}

Формальный аргумент имени массива может иметь вид int (*A) [4].

intsum2 (int (*A) [4], intM); // прототип

Для определения размера массива при вызове функции можно использовать выражение sizeof (A) /sizeof (A []). Например,

res = sum2 (A, sizeof (A) /sizeof (A []));

Способ 2. Другой способ передачи двумерного массива в функцию состоит в погружении фактического двумерного массива с размерами MxN в двумерный массив заведомо больших размеров. Пи этом достаточно взять большой размер стоки, например, 100.

К-во Просмотров: 395
Бесплатно скачать Лабораторная работа: Модульное программирование