함수에서 더 많은 요소 P를 읽어야합니다. 루프에서 매번 pElem을 만드는 것이 더 좋습니까?변수 혼동
dataStr * process(char *start, char *stop, GTree* tree)
{
while ((cp != NULL) && (cp < nextI))
{
//I malloc inside of getPElem function
pElem * p = getPElem(cp, dateP, s);
free(p);
}
}
또는 P- 요소를 한 번 초기화하고 매번 다시 사용해야합니까?
dataStr * process(char *start, char *stop, GTree* tree, pElem * p)
{
while ((cp != NULL) && (cp < nextI))
{
fillPElem(p, cp, dateP, s);
}
}
또는 같은 함수 내에서 모든 시간 : 하나 개의 요소가 더 좋을 것이다
dataStr * process(char *start, char *stop, GTree* tree)
{
pElem * p = malloc(sizeof(p));
while ((cp != NULL) && (cp < nextI))
{
fillPElem(p, cp, dateP, s);
}
free(p);
}
경우에, 나는 그것을 기능 (기능 "프로세스"너무 루프라고합니다) 외부를 malloc을한다 두 번째 예?
dataStr * process(char *start, char *stop, GTree* tree)
{
pElem p;
while ((cp != NULL) && (cp < nextI))
{
fillPElem(&p, cp, dateP, s);
}
}
(예, 내가 알고 CP의 없음, nexti는 등은 다음과 같습니다 당신은 포함하는 범위보다 더 오래 살기 위해 pElems이 필요하지 않은 경우
두 개의 첫 번째 발췌 문장은 동등한 것으로 간주됩니까? – UmNyobe
나를 위해, 루프의'malloc'은 최적화되지 않았습니다. 버퍼처럼 사용한다면'malloc'을 하나만 사용해야합니다. – jml
예, 모든 스 니펫은 동일해야합니다. – MaMu