Giải thích dùm mình đoạn code tạo Hash Table trong C với

Mọi người giải thích dùm mình tại sao lại cần typedef ItemType *Item rồi lại Item *data thế này ?
tại sao không phải là ItemType** data có phải nhanh không ?

Sử dụng typedef là để cho chương trình nhìn đơn giản, dễ đọc hơn.
Và lí do nữa là nhiều khi chương trình thay đổi kiểu dữ liệu khác, ví dụ Item đó hiện tại dùng kiểu ItemType, biết đâu mai này lại muốn thay đổi thành kiểu dữ liệu khác như ItemOfProduct, hay bất kì thứ gì đó, mà không muốn xóa ItemType đi vì nó đang được sử dụng ở đâu đó trong chương trình. Việc thay đổi này chỉ cần sửa 1 chỗ, không cần sửa mọi nơi.

Tóm lại thì nó là do tư duy người code chứ không ảnh hưởng gì cả.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?