2012-11-06 4 views
0

가능한 중복 : 나는 호출하는 주요 기능을 가지고 C.에서 이중 연결리스트를 만들기 위해 노력하고있어
returning multiple values from a function반환 두 개의 서로 다른 값 (구조체, 목록)

노드를 생성하고 목록을 작성하는 또 다른 함수. 이 마지막 함수는 main에 두 개의 다른 포인터 (목록의 처음부터 끝까지 하나씩)를 반환해야합니다. "return"두 가지를 반환하는 방법이 있습니까? 이 경우 두 개의 포인터. 두 개의 요소, 두 개의 포인터가있는 구조체를 반환 할 때 생각했습니다. 그러나 쉬운 방법이 있습니까?

이 내가 주에서 함수 (insertacomienzo)를 호출하는 방법입니다

primero = insertacomienzo (primero, ultimo, tamaniomax); 

는 (프리메로는 포인터입니다) 그리고 함수는 이제 수정이 포인터를 반환한다. 내가 필요로 무엇

return primero; 

한 목록의 시작을 가리키는 하나, 이제 두 개의 포인터를 반환하는 것입니다, 다른 하나는리스트의 말미를 가리키고 있습니다.

고맙습니다!

+1

함수를 참조하고 값을 설정하십시오. – ata

+0

코드가 꽤 길기 때문에 (대학용 작품), 정말 혼란 스럽습니다.이 특별한 경우를 단순화하고 질문을 편집하려고 노력할 것입니다. – LeanDroid

답변

0

추가 매개 변수를 되돌리려면 InOut 매개 변수를 사용하십시오 (이것은 일반적으로 C에서 수행되는 방법입니다). INOUT 매개 변수는 '이'(CPP 그들이 '* &'유형입니다하지만 당신은 C에서 '&을'이없는) 대신에 '* '유형이 여기에

는 입출력의 prototye입니다 함수

node* GenerateList(node* currentListItem,node** InOutLastListItem,int currentNodes) 
관련 문제