Kernighan & Ritchie의 'C 프로그래밍 언어'구조체를 반환하는 예제를 보았습니다.구조체에 대한 포인터 반환
/* binsearch: find word in tab[0]...tab[n-1] */
struct key *binsearch(char *word, struct key *tab, int n)
{
int cond;
struct key *low = &tab[0];
struct key *high = &tab[n];
struct key *mid;
while (low < high) {
mid = low + (high-low)/2;
if ((cond = strcmp(word, mid->word)) < 0)
high = mid;
else if (cond > 0)
low = mid + 1;
else
return mid;
}
return NULL;
}
함수가 함수의 로컬 var에 대한 포인터를 반환하고있는 것으로 보입니다. 이것은 매달려있는 포인터를 돌려주는 경우가 아닐까요?