Алгоритмы и структуры данных на С++. Аксёнова Е.А - 8 стр.

UptoLike

8 Глава 1. Некоторые конструкции языка С++
Передача данных через указатели в стиле языка С
Во втором способе мы используем передачу параметров по значе-
нию. В этом случае, чтобы вернуть из функции значения параметров p
и s, эти формальные (описанные в функции) параметры надо описать
как указатели и передать из функции main адреса соответствующих
локальных переменных фактических параметров (параметры, опи-
санные там, где происходит обращение к функции, и которые каким-
либо способом подставляются на места формальных параметров).
#include <stdio.h>
void f(float a, float *p, float *s);
int main(){
float al,pl,sl;
scanf("%f",&al);
f(al,&pl,&sl);
printf("a=%f p=%f s=%f",al,pl,sl);
}
void f(float a, float *p, float *s)
{
*p=4*a;
*s=a*a;
}
На рисунке 1.1 схематично изображена передача информации меж-
ду функциями. Значение фактического параметра al передается фор-
мальному параметру а. Этот процесс изображен непрерывной лини-
ей. Формальным параметрам p и s передаются адреса соответственно
фактических параметров pl и sl. Это изображено прерывистой стрел-
кой.
Рис. 1.1
8                     Глава 1. Некоторые конструкции языка С++


       Передача данных через указатели в стиле языка С
    Во втором способе мы используем передачу параметров по значе-
нию. В этом случае, чтобы вернуть из функции значения параметров p
и s, эти формальные (описанные в функции) параметры надо описать
как указатели и передать из функции main адреса соответствующих
локальных переменных – фактических параметров (параметры, опи-
санные там, где происходит обращение к функции, и которые каким-
либо способом подставляются на места формальных параметров).

#include 
 void f(float a, float *p, float *s);

    int main(){
               float al,pl,sl;
               scanf("%f",&al);
               f(al,&pl,&sl);
               printf("a=%f p=%f s=%f",al,pl,sl);
              }

    void f(float a, float *p, float *s)
       {
         *p=4*a;
         *s=a*a;
       }

    На рисунке 1.1 схематично изображена передача информации меж-
ду функциями. Значение фактического параметра al передается фор-
мальному параметру а. Этот процесс изображен непрерывной лини-
ей. Формальным параметрам p и s передаются адреса соответственно
фактических параметров pl и sl. Это изображено прерывистой стрел-
кой.




                             Рис. 1.1