Thực ra, đó là "con trỏ để làm mất hiệu lực" cần được giải thích.
Trong ngôn ngữ lập trình nói chung và trong C nói riêng, chúng tôi thích các loại. Các loại là mạng lưới an toàn cơ bản để kiểm tra xem chúng ta có đang làm điều gì đó ngu xuẩn không, nơi "ngu xuẩn" có nghĩa là "giải thích một loạt các bit cho một cái gì đó mà chúng không phải là". Có thể lập trình không có loại, một số ngôn ngữ hoàn toàn không có bất kỳ loại nào (ví dụ như assembly hoặc Forth), nhưng điều này không dành cho những người yếu tim và nói chung, năng suất lập trình dường như được tăng cường rất nhiều bằng cách sử dụng các loại .
Vì vậy, khi chúng tôi có một con trỏ, chúng tôi muốn máy tính biết những gì nó có thể tìm thấy ở cuối con trỏ. Chúng tôi muốn một "con trỏ đến int" để máy tính kiểm tra khi chúng ta nhìn vào các bit ở cuối con trỏ, chúng ta xem chúng như là một "int" và không phải là cái gì khác.
"Con trỏ để làm trống" là con trỏ loại ít hơn, mà chúng tôi sử dụng khi hệ thống kiểu C không chụp được những gì chúng tôi đang thực hiện. Đó là một triệu chứng của C không thể làm theo sự phức tạp của mã chúng tôi đang sản xuất (hoặc có thể lập trình viên không đủ tốt để thể hiện những gì anh ta làm trong các ràng buộc của hệ thống kiểu C). Do đó, trong khi "void *" thuận tiện trong một số trường hợp, người ta nên xem nó như là ngoại lệ, và cố gắng tránh nó.
Nguồn
2010-02-04 14:54:46
tôi có thể biết lý do cho phiếu giảm giá không? – Vijay
không có ý tưởng, nhưng tôi sẽ nguy hiểm đoán: ai đó nghĩ rằng bạn không biết đủ về những gì bạn đã yêu cầu để thực sự hiểu một câu trả lời? – Will
Đừng quên trỏ đến cấu trúc. – phkahler