#define MAX 10
void func(int M[MAX],int a,int b,int c,int Ma[MAX],int Mb[MAX],int Mc[MAX])
{
for(int i=0;i<MAX;i++)
{
Ma=M*a;
Mb=M*b;
Mc=M*c;
}
}
void main()
{
int m[MAX],ma[MAX],mb[MAX],mc[MAX];
func(m,1,2,3,ma,mb,mc);
}
Возвращение функцией нескольких массивов
У меня такой к Вам вопрос.
Каким образом можно с помощью функции вернуть нескольких массивов?
Попробую формализовать задачу. Есть функция, исходными данными которой являются массив абстрактных значений Arr[] и переменные a, b и с. Нужно, чтобы функция вернула три массива, элементы которых были домножены на a, b и c, то есть a*Arr, b*Arr, c*Arr.
Каким образом это можно сделать?
Заранее премного благодарен.
Передавай ссылки на выходные массивы в параметрах функции. Предварительно не забудь создать сами выходные массивы.
А не будет ли процедура func ворочать в памяти целыми массивами? туда перешли массив, сюда массив... Действительно лучше указатели на массивы (вдруг они будут очень большие?)
Цитата:
Originally posted by xm...
А не будет ли процедура func ворочать в памяти целыми массивами? туда перешли массив, сюда массив... Действительно лучше указатели на массивы (вдруг они будут очень большие?)
А не будет ли процедура func ворочать в памяти целыми массивами? туда перешли массив, сюда массив... Действительно лучше указатели на массивы (вдруг они будут очень большие?)
Лучше конечно работать с указателями. Если система позволяет выделять память в куче и эта память не является критичной.