Форум программистов, компьютерный форум CyberForum.ru

Передача массива в функцию - C++

Восстановить пароль Регистрация
 
Sade
2 / 2 / 1
Регистрация: 20.03.2012
Сообщений: 42
03.07.2012, 00:50     Передача массива в функцию #1
Какие есть способы для передачи массивы в функцию. И как передать массив с указателем на него чтобы все изменения вносились в него? Если можно то с примерами.Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
03.07.2012, 00:57     Передача массива в функцию #2
массив всегда передается по указателю - такчто вариантов немного
zvoronz
 Аватар для zvoronz
270 / 237 / 21
Регистрация: 29.05.2012
Сообщений: 889
03.07.2012, 00:57     Передача массива в функцию #3
Ну так и передай указатель на массив

А если в коде то вот так вот примерно всё выглядит.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void printar(int* ar, int n)
{
    for(int i = 0; i < n; ++i)
        cout << ar[i] << " ";
}
 
void multar(int* ar, int mult, int n)
{
    for(int i = 0; i < n; ++i)
        ar[i] *= mult;
}
 
void main()
{
    int ar[5] = {1,5,6,9,8};
    
    printar(ar, 5);
    multar(ar, 3, 5);
    printar(ar, 5);
}
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.07.2012, 01:05     Передача массива в функцию #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cstddef>
 
//compile-time arrays only
template<std::size_t N>
void foo(const int (&arr)[N])
{
   for (std::size_t i = 0; i < N; ++i)
      std::cout << arr[i] << ' ';
}
 
void foo(const int* const arr, std::size_t N)
{
   for (std::size_t i = 0; i < N; ++i)
      std::cout << arr[i] << ' ';
}
 
int main()
{
   int arr[] = { 1, 2, 3, 4 };
   foo(arr);
   std::cout << std::endl;
   foo(arr, sizeof(arr) / sizeof(int));
}
zvoronz
 Аватар для zvoronz
270 / 237 / 21
Регистрация: 29.05.2012
Сообщений: 889
03.07.2012, 01:57     Передача массива в функцию #5
Так солидней выглядит.
Yandex
Объявления
03.07.2012, 01:57     Передача массива в функцию
Ответ Создать тему
Опции темы

Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru