русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Модифицированный пример применения выходных параметров


Дата добавления: 2013-12-23; просмотров: 751; Нарушение авторских прав


Выходные параметры

Параметры-ссылки

Параметры-значения

Параметры-значения задаются в заголовке метода обычным образом, например:

void func(int x)

В данном примере параметр х – это параметр-значение, который предсталяет собой локальную переменную, которая получает свое значение при вызове метода func. В метод передается копия значения аргумента для х.

Во многих методах все величины, которые метод должен получить в качетстве исходных данных,описываются в списке перемтров, а величина, которую вычислет метод как результат своей работы, возвращается в вызывающий код с помощью оператора return. Если метод должен возвращать более,чем одно значение, такой способ не годится.

Также, если в методе требуется изменить значение передаваемых в него величин используются параметры –ссылки.

Параметры-ссылки задаются в заголовке метода с использованием ключевого слова ref, например:

void func(refint x)

При вызове такого метода параметр копирует не значение аргумента для х, а его адрес, поэтому внутри метода значение переданного параметра изменяется.

Пример применения параметров-значений и параметров-ссылок

namespace ConsoleApplication2

{

class Program

{

static void p(int a, ref int b)//обратите внимание на слово static!

{

a = 44;

b = 33;

Console.WriteLine("внутри метода {0} {1}", a, b);

}

static void Main(string[] args)

{

int a = 2, b = 4;

Console.WriteLine("до вызова метода {0} {1}", a, b);

p(a, ref b);//обратите внимание на ВЫЗОВ метода

Console.WriteLine("после вызова метода {0} {1}", a, b);

Console.ReadKey();

} }}

Если в методы передаются объекты (экземпляры классов), то есть величины не значимых, а ссылочных типов, то эти объекты всегда передаются по ссылке!

Часто возникает необходимость в методах, которые формируют несколько величин. Параметру, имеющему спецификатор out, должно быть присвоено значение внутри метода. Тем самым, можно из метода получить несколько значений-результатов работы.



namespace ConsoleApplication2

{

class Program

{

static void p(int a, out int b, out int c)

{

a = 44;

b = 33;

c = a + b;

Console.WriteLine("внутри метода {0} {1} {2}", a, b,c);

}

static void Main(string[] args)

{

int a = 2, b,c;

p(a, out b,out c);//обратите внимание на ВЫЗОВ метода

Console.WriteLine("после вызова метода {0} {1} {2}", a, b,c);

Console.ReadKey();

} }}

Хорошим стилем программирования считается, если в списке параметров сначала записываются входные параметры, затем – параметры ссылки, затем – выходные параметры.

 

ВЫВОДЫ:

1. Параметры, поступающие в функцию, рассматриваются компилятором как дополнительные переменные, т.е. происходит их копирование в стек и внутри функции используется их копия, находящаяся в стеке.

2. В случае, если аргумент – имя переменной или выражение, то осуществляется копирование аргумента в стек на место соответствующего параметра, то есть реализуется способ обмена данными – передача аргумента по значению.

3. Если в качестве параметра используется адрес аргумента, то в стек помещается адрес этого значения. Это 2 способ – передача по ссылке.



<== предыдущая лекция | следующая лекция ==>
По ссылке | Лекция 9. Основы защиты информации


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.