В C++ вы могли бы сделать:
std::vector<int> myfunction();
int main(){
std::vector<int> p = myfunction();
std::cout << p[2] << std::endl;
}
std::vector<int> myfunction(){
return std::vector<int>{0,1111,2222,3333};
}
И в C вы можете сделать:
int* myfunction(void);
int main(void){
int* p = myfunction();
printf("%d\n", p[2]);
free(p);
}
int* myfunction(void){
int tmp[] = {0,1111,2222,3333};
int* array = (int*)malloc(sizeof(tmp));
memcpy(array, &tmp, sizeof(tmp));
return array;
}
Теперь, если у вас есть проблемы с этим кодом, я рекомендую вам пойти забрать хорошая книга C или C++ (в зависимости от того, что вас интересует) и ознакомьтесь с основами языка, потому что вы, похоже, очень смущены.
В функции 'main()' вы не можете получить никаких параметров, кроме заданных параметров 'int argc, char * argv []'. –
@ πάνταῥεῖ Я думаю, он хочет, чтобы 'myfunction' возвращал массив/вектор в main. – tux3
@ tux3 Aw, позволь мне немного поиграть в опоссум :(Ты собираешься испортить мне день. –