2016-11-03 8 views
-2

함수에서 사용하는 동적 배열 (사용자 입력에 따라)을 만들려고합니다. 내가 어떻게 교체 할 수 있습니다, 나는 C에서 그것을 할 수 없습니다 & 반대를 사용하려는 경우,함수에서 사용하는 동적 배열

enter code here 

int main() 
{ 
int *array; 
int counter=0;) //countes how many inputs we got 

*array=dynamic_array(array,counter) 

return 0; 
} 

int *dynamic_array(int *array, int counter){ 

int c=0; 
while(c!=-1) 
{ 
counter++; 
array=(int *)realloc(arraya(counter)*sizeof(int)); 
} 

return(array); 
} 

그리고 또 다른 qustion : 임 작은 내가 생각 무엇의 예를주는?

감사합니다.

+1

들여 쓰기 코드하십시오

당신은 아마 이런 식으로 뭔가를 할 수 있습니다. 그리고 그 질문은 무엇입니까? 한 번에 한 가지 질문 만하십시오. –

+0

두 번째 질문에 관해서 :'& counter-'는 무엇을하기로되어 있습니까? 별도의 질문을 올리고 좀 더 자세하게 설명해야합니다. –

+0

'while (c! = - 1)'은 루프에서'c '가 수정되지 않으므로 절대로 종료되지 않습니다. 코드는 모든 구문 및 기타 오류로 컴파일되지 않습니다. –

답변

0

코드가 실제로 이상합니다. 그래서 실제로 원하는 것을 말하기가 어렵습니다.

#include <stdlib.h> 
#include <stdio.h> 

// declare the dynamic_array function 
int *dynamic_array(int *array, int counter); 

int main() 
{ 
    int *array = NULL; // initialize to NULL (see realloc documentation) 

    // allocate an array of 10 ints 
    int counter = 10; 
    array = dynamic_array(array, counter); 
    array[0] = 12; 
    array[1] = 34; 

    // extend the array to 20 ints 
    counter = 20; 
    array = dynamic_array(array, counter); 

    printf("array[0] = %d\n", array[0]); 
    printf("array[1] = %d\n", array[1]); 

    return 0; 
} 


int *dynamic_array(int *array, int counter) 
{ 
    array = (int*)realloc(array, counter * sizeof(int)); 
    return(array); 
}