Объектно-ориентированное программирование. Сивохин А.В - 20 стр.

UptoLike

20
Если функция не должна возвращать значение, она должна иметь тип void.
Аналогично поступают и при отсутствии у функции аргументов: вместо списка
аргументов указывается ключевое слово void.
Полное определение вызываемой функции может находиться как до
вызывающей функции, так и после, а также может располагаться в другом файле
или в библиотеке функций. Чтобы не
возникало проблемы ссылок вперед, любая
функция должна быть описана до своего использования. Описание организуется в
виде прототипа. В прототипе приводится тип функции, ее имя, количество
аргументов, их типы и порядок следования. Пример прототипа для функции func:
int func (int, int);
Для удобства прототипы нескольких функций объединяют в заголовочные файлы,
имеющие расширения *.h или *.hpp
.
Способы передачи параметров в функции
В языке Си имеется два способа передачи параметров:
- по значению;
- по указателю, или по адресу.
Второй способ применяют в том случае, если входной параметр должен быть
обработан функцией и возвращен в измененном виде. В противном случае
используется передача по значению.
Особенности передачи и обработки
массивов и строк
Массивы и строки передаются в функции по указателю. Это может быть
сделано явным образом:
int MatrixSum (int *Array, int rows, int cols)
{int Sum=0;
for (int i=0 ;i<rows; i++)
for (int j=0 ;j<cols; j++)
Sum+= *(Array+i*cols+j); // Доступ к Array[i][j]
return Sum;
},
либо неявно:
int MatrixSum (int Array [][10], int rows)
{int Sum=0;
for (int i=0 ;i<rows; i++)
for (int j=0 ;j<10; j++)
                                                                           20
    Если функция не должна возвращать значение, она должна иметь тип void.
Аналогично поступают и при отсутствии у функции аргументов: вместо списка
аргументов указывается ключевое слово void.
    Полное определение вызываемой функции может находиться как до
вызывающей функции, так и после, а также может располагаться в другом файле
или в библиотеке функций. Чтобы не возникало проблемы ссылок вперед, любая
функция должна быть описана до своего использования. Описание организуется в
виде прототипа. В прототипе приводится тип функции, ее имя, количество
аргументов, их типы и порядок следования. Пример прототипа для функции func:
    int func (int, int);
Для удобства прототипы нескольких функций объединяют в заголовочные файлы,
имеющие расширения *.h или *.hpp.

                    Способы передачи параметров в функции
    В языке Си имеется два способа передачи параметров:
    - по значению;
    - по указателю, или по адресу.
    Второй способ применяют в том случае, если входной параметр должен быть
обработан функцией и возвращен в измененном виде. В противном случае
используется передача по значению.

               Особенности передачи и обработки массивов и строк
    Массивы и строки передаются в функции по указателю. Это может быть
сделано явным образом:

    int MatrixSum (int *Array, int rows, int cols)
     {int Sum=0;
      for (int i=0 ;i