#include <memory.h>
int* create_int_array(int len)
{
// C++ なら return new int[len]; ← この辺に注目した上で
return (int*)malloc(sizeof(int)*len);
}
void delete_array(int *arr)
{
// C++ なら delete [] arr;
free(arr);
}
int main()
{
// ↓個数不明な配列返したいって?じゃあそのアドレスを持ったポインタ返せばいいじゃんってこと
int *ar = create_int_array(3);
int i = 0;
ar[i] = 123; printf("%d %d\n", i, ar[i++]);
ar[i] = 456; printf("%d %d\n", i, ar[i++]);
ar[i] = 789; printf("%d %d\n", i, ar[i++]);
delete_array(ar);
// ↑動的生成したんだから開放削除を ※C++ならデストラクタの考え方があるので これ自体隠す事が普通に可能
return 0;
}