2012-05-19 4 views
0

나는이 구조체조건이 충족되면 각 반복마다 배열을 확대 할 수 있습니까?

typedef struct 
{ 
    int numberPipes;    // | 
    int numberAmpersands;   // & 
    int existsBiggerThan;   // > 
    int existsLessThan;   // < 
    int existsDoubleLargerThan; // >> 

} lineData; 

을하고 난 '&''|'의 모든 인덱스를 찾기 위해, char 배열 (숯불 *) 내 루프에서 실행됩니다.

나는 '&''|'을 얼마나 찾아야할지 모르겠다. 크기가 1 인 두 배열 (malloc 사용) 으로 시작하여 각 반복 후에 하나씩 다른 배열을 찾은 경우에만 확대 할 수 있습니까?

+1

배열을 확대 할 수 없으며 배열의 크기는 고정되어 있습니다. dyn을 확대 할 수 있습니다. 할당 된 메모리 블록. – user411313

+0

@ user411313 : 물론 당신 말이 맞습니다. 동적 배열 (char * 배열) 배열을 의미합니다. – ron

+0

링크 된 목록을 사용하는 것보다 배열의 크기를 조정하는 것이 매우 비용이 많이 드는 작업입니다. 차라리 라인의 문자 수를 초기화하는 것이 좋습니다. –

답변

5

realloc으로 전화를 걸 수 있습니다.

성능상의 이유로 새로운 요소가 아닌 X 요소에서 호출하는 것이 더 좋을 수 있으므로 malloc/realloc으로 호출 수를 줄이십시오.

관련 문제