tôi muốn biết sự khác biệt giữaPointer vs Array trong định nghĩa hàm: sự khác nhau giữa void fct1 (int * p) và void fct1 (int p []) là gì?
void fct1(int *p)
và
void fct1(int p[])
tôi biết rằng cả hai đều là con trỏ nhưng có bất kỳ sự khác biệt là những gì
@Mark Ransom cảm ơn bạn đã trả lời nhanh. nhưng tôi nghe nói rằng int p [] là một con trỏ không đổi nên địa chỉ mà nó trỏ đến không thể thay đổi là đúng? – user2142328
("con trỏ hàm" là con trỏ trỏ đến hàm, không phải hàm nào có con trỏ .. mà đang được nói, tôi chắc chắn rằng * phải * trùng lặp.) –
@ user2142328 'p []' khai báo mảng có kích thước sau đó được xác định. Điều đó sẽ là bất hợp pháp trong một tham số hàm, có kích thước phải được biết ngay lập tức. Vì vậy, trong bối cảnh này nó được xử lý đặc biệt, nhận được một chuyển đổi ngay lập tức để '* p'. – Potatoswatter