C++函数之间值的传递

如果我希望将Initlist()内t的值和n的值都能传给其它函数应该怎么做?

table Initlist()
{
  table t;
  int i;
  int n = 0;
  cout << "输入n的值:";
    cin >> n;
  for (i = 0; i < n; i++)
  {
    cout << endl << "输入第" << i + 1 << "个数据:";
    cin >> t.head[i];
    t.length++;
  }
  return t;
};

table Initlist(int*n,int *val)
通过2个指针或者引用在函数内的赋值。再把这2个参数传给其他函数。
也可以使用全局变量。