Лабораторная работа: Работа с функциями в языке программирования Си

Рассмотрим особенности работы функции с двумерным массивом. В предыдущем примере в функции массив был описан как int s[]; для двумерного массива а нельзя записать a[][]. В описании двумерного массива во второй квадратной скобке должно быть указано количество столбцов, например: a[][3].

Пример 5. Увеличить все элементы массива а(5,5) в два раза. Оформить этот алгоритм в виде подпрограммы.

#include <stdio.h>

main()

{int a[5][5]; /*описаниемассива a*/

int i,j; /*объявление переменных i,j*/

for (i=0;i<5;i++)

for (j=0; j<5; j++)

scanf("%d",a[i][j]); /*вводмассива*/

mas(a); /*обращение к функции mas*/

for (i=0; i<5; i++)

for (j=0; j<5; j++)

printf("%d", a[i][j]); /*вывод полученного результата*/

}

/*функция*/

mas(a)

int a[][5]; /*описание массива а*/

{int i,j; /*описание переменных i,j*/

for (i=0; i<5; i++)

for (j=0; j<5; j++)

a[i][j] = 2*a[i][j]; /*увеличение элементов массива в 2 раза*/

}

Классы памяти

В языке СИ различают четыре основных памяти: внешнюю (глобальную), автоматическую (локальную), статическую и регистровую.


Внешние переменные определены вне любой из функций, следовательно, доступны для многих из них. Область внешней переменной простирается от точки во входном файле, где она объявлена, и до конца файла. Если внешняя переменная определена в другом файле, то вступает в силу описание extern (внешний). На рис.1 показано, где объявляются и на что распространяется область действия внешних переменных, если программа main и вызываемая функция находятся в данном файле. На рис. 2 демонстрируются отличия, имеющие место, когда main и вызываемая функция находятся в разных файлах. В файле с вызываемой функцией внешние переменные будут доступны после их описания с помощью ключевого слова extern.

Пример 5. Оформить в виде функции вычисление выражения:

f=a×x2 +b×x+c;

В приведенной ниже программе заданные переменные объявлены как внешние, причем основная программа и функция находятся в одном файле.


К-во Просмотров: 230
Бесплатно скачать Лабораторная работа: Работа с функциями в языке программирования Си