Chi tiết con trỏ và mảng thể hiện sự khác biệt:
Con trỏ
Con trỏ là biến lưu địa chỉ biến khác. Khi cấp phát bộ nhớ cho biến, con trỏ trỏ đến địa chỉ bộ nhớ biến. Toán tử đơn ngôi (*) khai báo biến con trỏ.
Cú pháp khai báo con trỏ:
datatype *variable_name;
Đây kiểu dữ liệu biến như int, char, float... variable_name do người dùng đặt.
Chương trình minh họa con trỏ:
Ví dụ
#include <stdio.h>
int main() {
int a = 8;
int *ptr;
ptr = &a;
printf("Giá trị biến a: %d\n", a);
printf("Địa chỉ biến a: %d\n", ptr);
return 0;
}Kết quả chương trình:
Giá trị biến a: 8 Địa chỉ biến a: -2018153420
Mảng
Mảng là tập hợp phần tử cùng kiểu tại vị trí bộ nhớ liên tục. Địa chỉ thấp nhất tương ứng phần tử đầu, cao nhất phần tử cuối. Chỉ số mảng bắt đầu 0 kết thúc size-1.
Kết quả
Cú pháp mảng:
type array_name[array_size];
array_name tên mảng, array_size kích thước.
Chương trình minh họa mảng:
Ví dụ
#include <stdio.h>
int main() {
int a[5];
int i,j;
for (i = 0; i<5; i++) {
a[i] = i+100;
}
for (j = 0; j<5; j++) {
printf("Element[%d] = %d\n", j, a[j]);
}
return 0;
}Kết quả
Đầu ra chương trình:
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104