在C中返回两个不同的值(结构,列表)

时间:2012-11-06 17:37:41

标签: c

  

可能重复:
  returning multiple values from a function

我正在尝试在C中创建一个双向链表。我有一个main函数调用另一个函数来创建节点并构建列表。我需要这个最后一个函数来返回两个不同的指针(一个指向开始,一个指向列表的末尾)到main。 有没有办法使用“返回”来返回两件事?在这种情况下两个指针。 我想在返回一个带有两个元素的结构时,两个指针。但有一个简单的方法吗?

这就是我在main中调用函数(insertacomienzo)的方式:

primero = insertacomienzo (primero, ultimo, tamaniomax);

(primero是一个指针) 该函数返回此指针现在已修改。

return primero;

我需要的是现在返回两个指针,一个是指向列表开头的指针,另一个指向列表的末尾。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用InOut参数返回任何额外参数(这通常是在C中完成的)。 InOut参数的类型为'* ',而不仅仅是''(在CPP中,它们的类型为'& *',但您在C中没有'&')

这是一个inout函数的原型

node* GenerateList(node* currentListItem,node** InOutLastListItem,int currentNodes)