int là loại đối tượng mà con trỏ trỏ tới và không phải là kích thước của con trỏ. Kích thước của con trỏ là độc lập của đối tượng nó trỏ tới
Ví dụ:
int *p;
double *d;
Cả pointers
p và d sẽ "bình thường" có kích thước tương tự, nhưng các dữ liệu mà chúng trỏ tới don' t có cùng kích thước.
Chỉnh sửa: Như được chỉ ra trong các con trỏ nhận xét không thực sự là "bắt buộc" có cùng kích thước.
Như John giải thích:
Ví dụ, một char * trên một hệ thống soạn thảo văn bản giải quyết thực sự có thể lớn hơn một int *, vì nó cần phải chỉ định một bù đắp vào từ đó. Bên nhận bảo lãnh chỉ là rằng void * và char * có cùng một sự liên kết và đại diện, mà con trỏ đến các loại tương thích có cùng liên kết và đại diện, rằng con trỏ đến struct loại có cùng liên kết và đại diện, và con trỏ với các loại công đoàn đều có cùng liên kết và đại diện
Con trỏ tới 'double' và' int' không cần phải có cùng kích thước. –
@Carl hmm, tôi nghĩ rằng họ nên. Không phải là kích thước của một con trỏ nhất quán trên một hệ thống nhất định? – Pepe
Thx Peter. Tôi đoán trình biên dịch biết làm thế nào lớn để làm cho * p dựa trên các tùy chọn trình biên dịch. – grok12