0

А как вернуть массив, то есть в функции main?

1st Jan 2022, 9:46 PM
Гавриил Крузенштерн
Гавриил Крузенштерн - avatar
4 odpowiedzi
+ 1
#include <iostream> using namespace std; int *myfunct(){ static int arr[] = {1,2,3,4,5,6}; return arr; } int main() { int* ptr = myfunct(); cout << ptr[0] << " " << ptr[1] << " " << ptr[2]; return 0; }
1st Jan 2022, 10:34 PM
rodwynnejones
rodwynnejones - avatar
+ 1
#include <iostream> using namespace std; void myfunct(int arr[], int len){ for(int i = 0; i < len; i++) arr[i]+=10; } int main() { int myarr[] = {1,2,3,4,5,6,7,8,9,10}; int len = sizeof myarr/ sizeof myarr[0]; myfunct(myarr, len); for(int i = 0; i < len; i++) cout << myarr[i] << ", "; return 0; }
1st Jan 2022, 10:49 PM
rodwynnejones
rodwynnejones - avatar
0
А если надо сделать так, чтобы сначала была инифиалиция массива в main, далее идет перенос массива в качестве аргумента в функции, а потом возвращаем, обработанный в функции массив, обратно
1st Jan 2022, 10:37 PM
Гавриил Крузенштерн
Гавриил Крузенштерн - avatar
0
Спасибо большое, но мне интересно как так оно передаёт значение т.к. глобальных переменных использовано не было, указателей тоже и return тоже не было
1st Jan 2022, 10:57 PM
Гавриил Крузенштерн
Гавриил Крузенштерн - avatar