Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по C/C++

  Все выпуски  

Уроки по C/C++


Информационный Канал Subscribe.Ru

C/C++. Уроки с сайта http://progs.biz

Рассылка №16

C/C++. Урок 21. Передача массива как параметра функции.

Полные версии уроков (с картинками) можно найти по адресам:
Урок 21. Передача массива как параметра функции.

Дж. Майо. C#: Искусство программирования.
Дж. Майо. C#: Искусство программирования.
Заказать на Озоне

Подробнее

Рассылки сайта progs.biz через subscribe.ru
Уроки по DirectX
Уроки по DirectX. Использование графики (Direct3D, DirectDraw), звука, взаимодействие с пользователем (DirectInput). Применение DirectX в Visual C++, Visual Basic и др., на платформе .NET (языки C#, VB.NET). Каждый урок расчитан на 15-20 минут.

C/C++. Урок 21. Передача массива как параметра функции

Массивы в качестве параметра функции передаются по ссылке. Это означает, что если вы внутри такой функции изменяете элементы массива, то эти изменения будут внесены и в оригинал массива.

Вот пример:

#include <iostream.h>
void f(int arr[2]){
  // Изменяем внутри функции массив.
  arr[0]=11;
  arr[1]=12;
}
void main(){
  int a[2]={1, -1};
  // Вызов функции.
  f(a);
  // Выводим элементы массива.
  cout<<a[0]<<"\n";
  cout<<a[1]<<"\n";
}

Указанный фрагмент выведет числа 11 и 12.

Обратите внимание, что для массивов, в отличие от отдельных переменных (т. е. тех, которые не являются массивами), не надо писать знак амперсанда (&).

Вообще говоря, в таком поведении массивов ничего удивительного нет - как вы знаете, имя массива (а именно оно и передается в функцию) есть адрес начала массива. Так что мы передаем адрес массива, т. е. его оригинал.

Наверх

Copyright Алексеев Игорь, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное