Tôi đang học C và cố gắng thực hiện thô sơ một danh sách liên kết trong C. Câu chuyện dài ngắn Tôi có một cấu trúc chỉ chứa một con trỏ rỗng (phần tử) và một con trỏ khác đến nút tiếp theo (mã để làm theo) Câu hỏi của tôi là, khi đi qua nút đầu và một số nút khác vào một hàm mới, có cách nào để đảm bảo hai phần tử có cùng loại không? Hai nút sẽ có thể chứa bất kỳ loại dữ liệu nào. Ive đã thử so sánh với sizeof(), nhưng tôi không thể suy ra một con trỏ void. Cảm ơn trước!Có cách nào để so sánh hai con trỏ void để khẳng định cùng loại trong C?
struct Node{
void* element;
struct Node* next;
}
Đây là mã cho các nút, tôi chỉ cần cách so sánh chúng để khẳng định danh sách được liên kết với tất cả các loại phần tử giống nhau! Cảm ơn!
Thực sự tôi không thấy tác hại trong việc cho phép các loại khác nhau trong các nút. Tôi không thực sự thấy việc sử dụng nó, nhưng tôi sẽ chỉ tin vào mã gọi điện thoại để không làm điều gì đó kỳ quặc như thế trừ khi người viết nó thực sự muốn. – Corbin
Bạn có thể làm 'if (a-> element == b-> element) {/ * cùng loại * /} else {/ * có thể không cùng loại * /}': P –
Nếu đó là con trỏ đến cùng một vị trí trong trí nhớ? Điều đó có vẻ rất vô nghĩa. – Corbin