나는 C를 배우고 C에서 링크드리스트의 조잡한 구현을 시도하고있다. long story short 나는 void 포인터 (요소)와 다음 노드에 대한 또 다른 포인터를 포함하는 구조체가있다. (따라야 할 코드) 헤드 노드와 다른 노드를 새로운 함수로 전달할 때 두 요소가 같은 유형인지 확인하는 방법이 있습니까? 두 노드는 모든 종류의 데이터를 보유 할 수 있어야합니다. Ive는 sizeof()와 비교를 시도했지만 void 포인터를 무시할 수 없습니다. 미리 감사드립니다!C에서 동일한 유형을 선언하기 위해 두 개의 void 포인터를 비교하는 방법이 있습니까?
이 노드에 대한 코드입니다 는struct Node{
void* element;
struct Node* next;
}
, 난 그냥 같은 요소 유형 모두와 함께 링크 된 목록을 보장하기 위해 어설과 비교하는 방법이 필요합니다! 감사!
실제로 노드에서 다른 유형을 허용하는 데 큰 문제는 없습니다. 나는 그것을 실제로 사용하는 것을 보지 못했지만, 정말로 코드를 쓰는 사람이 정말로 원하지 않는 한 이상한 일을하지 않도록 호출 코드를 신뢰합니다. – Corbin
당신은'if (a-> element == b-> 요소) {/ * 같은 타입 * /} else {/ * 같은 타입이 아닐 수도 있습니다 * /}': P –
만약 그것이 같은 장소에 대한 포인터라면 기억에? 그건 아주 무의미한 것 같습니다. – Corbin