Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2010, 19:56   #1
Serjuk
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 136
По умолчанию С++. передача функции всего массива или сылки

Здравствуйте,возник вопрос передачи массива функции всего массива или только сылки на него. В чем разница понимаю - при передаче всего массива : создается копия этого массива и он редактируется только внутри функции, собственно в главной подпрограмме (main) отстается тот массив, который передавался функции. при передаче сылки на этот массив: массив редактируется внутри этой функции и в меин передается уже отредактируемый массив.
Так вот,как выглядит это на практике
Передаче всего массива:
Код:
int swap (int [],int) //прототип функции
main()
{
...
swap (a[],n); //вызывающая функция
...
}
int swap (int a[],int n) //вызываемая функция
{
...
}
Передача сылки на массив
Код:
int swap (int *,int) //прототип функции
main()
{
...
swap (a,n);//вызывающая функция
...
}
int swap (int *a,int n);//вызываемая функция
{
...
}
Поправьте меня,если я неправ.
И второй вопрос: имеет ли порядок описания параметров функции значение?
т.е.
swap (a,n);
и
int swap (int *x,int y);
где под а подразумевается *x а под n - y,а не наоборот?
Serjuk вне форума Ответить с цитированием
Старый 01.02.2010, 00:24   #2
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Да, ты неправ, массив нельзя передать по значению, т.е. никогда его копия не создается...
При любом способе передачи ты работаешь с исходным массивом!

Обойти можно с помощью структур коненчо, но это отдельный разговор
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива в функцию D[I]K Общие вопросы C/C++ 4 13.09.2009 21:31
передача массива в функцию JOFRIF Общие вопросы C/C++ 8 02.08.2009 12:46
Передача двумерного массива аля матрицы из функции bondik Общие вопросы C/C++ 1 20.05.2009 15:46
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57