나는 C에서 함수에서 다른 포인터에 저장된 4 포인터를 반환하려고하는데, 나는 세그먼트 오류가 발생합니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 내가이 일을 시도 방법함수에서 여러 포인터를 반환
:
//declaration of 5 pointers (int * ptr0, float * ptr1, ..., int * ptr4)
int * function()
{
int * ptr;
ptr = malloc(sizeof(int)*4);
float * ptr1;
ptr1 = malloc(sizeof(float)*4);
float * ptr2;
ptr2 = malloc(sizeof(float)*4);
float * ptr3;
ptr3 = malloc(sizeof(float)*4);
int * ptr4;
ptr4 = malloc(sizeof(int)*4);
retunr ptr;
}
ptr0 = function();
ptr1 = ptr0[0];
ptr2 = ptr0[1];
//and so on...
좋아, 내 프로그램을 변경하지만 지금은 더 이상 포인터에 쓸 수 없습니다. 나는 이것이 정말로 '어리석은'질문 인 것을 안다. 그러나 나는 정말로 모른다. 누군가 도움을 줄 수 있습니까?
여러 값을 반환하려는 경우 구조체를 반환하거나 매개 변수 목록을 통해 반환 할 수 있습니다. – iedoc
선언을 포함하여 전체 코드를 표시하십시오. – s7amuser
가능한 복제본 : http://stackoverflow.com/questions/9144516/out-parameters-in-c –