我需要知道以下c函數這個C代碼是做什麼的?
bool GC_search_memaddr (void* high_add, void* low_add, void* search_add)
{
void ** gc_ptr_to_ptr;
void * gc_temp;
gc_temp = high_add;
while(gc_temp > low_add)
{
gc_temp = gc_temp - 1;
gc_ptr_to_ptr = (void**)gc_temp;
if ((*gc_ptr_to_ptr) == search_add)
return True;
}
return False;
}
的輸出。在此的輸入功能的全部3是指針。我認爲這只是一個簡單的基於增量的搜索功能,但問題是,如果您將它們全部更改爲int,則函數的輸出有時會發生更改。 有人可以告訴這裏究竟發生了什麼...
它看起來就像是一種非常奇怪的方式來判斷'search_add'是否在'high_add'和'low_add'之間?我不知道...用於什麼功能? – filipe 2010-11-17 21:58:04