Con trỏ và mảng hầu hết thời gian được xử lý giống nhau trong c. Một số khác biệt là:
&toán tử:
-
&pointer =trả về địa chỉ của con trỏ.
-
&array =trả về địa chỉ của phần tử đầu tiên.
toán tử sizeof:
-
sizeof (array) =trả về tổng bộ nhớ được sử dụng bởi tất cả các phần tử của mảng.
-
sizeof (pointer) =trả về bộ nhớ duy nhất được sử dụng bởi chính biến con trỏ.
Biến mảng không thể được gán lại giá trị trong khi biến con trỏ có thể.
Tuyên bố:
int a[]; //array Int *p; //pointer
Chúng ta hãy xem xét rằng có một biến con trỏ số nguyên
int *i;
Bây giờ chúng ta hãy xem xét kết quả của các nhiệm vụ sau -
a = &i; //illegal assignment. a variable can not be updated or modified. p = &i; //legal assignment.