임의의 구조체 포인터의 배열과 비교 함수를 일반적인 정렬 알고리즘에 전달하려고합니다. C에서 가능합니까?C 함수에 임의의 struct 포인터 배열 전달?
구조체의 goooeys는 비교 함수 내에서만 액세스 할 수 있습니다. 정렬 함수는 비교 함수를 호출하고 포인터를 바꿔 줄 필요가 있지만이를 선언하는 방법을 알 수는 없습니다.
function sorter(struct arbitrary ** Array, int Length, int cmp(struct node * a, struct node * b))
{
for (int i=0; i<Length;i++){
if cmp(Array[i],Array[i+1]){
swap(Array[i],Array[i+1]
}
}
}
** 버퍼 오버플로주의 **. 당신의 코드에서, 루프를 마지막으로 통과 할 때,'i + 1'은 존재하지 않는 요소에 접근하려고 시도 할 것입니다. – pmg