Xét ví dụ sau :
#include <stdio.h>int main(){ char mang[4]; // khai báo mảng gồm 4 phần tử int i; for(i = 0; i < 4; ++i) { printf("Dia chi cua mang[%d] = %u\n", i, &mang[i]); // IN RA ĐỊA CHỈ CỦA MẢNG. // & ĐỊA CHỈ. } return 0;}KẾT QUẢ :
Dia chi cua mang[0] = 600503364 // ĐỊA CHỈ MẢNG THỨ 1.
Dia chi cua mang[1] = 600503365 // ĐỊA CHỈ MẢNG THỨ 2.
Dia chi cua mang[2] = 600503366 // ĐỊA CHỈ MẢNG THỨ 3.
Dia chi cua mang[3] = 600503367 // ĐỊA CHỈ MẢNG THỨ 4.
Mối quan hệ giữa con trỏ và mảng trong lập trình C.
Ví dụ :
int *A[4] Ta có A[0] A[1] A[2] A[3]
Trong đó :
A và &A[0] : Trỏ tới địa chỉ đầu tiên.
Ví dụ: Chương trình tính tổng 5 chữ số nhập từ bàn phím với con trỏ và mảng
#include <stdio.h>int main() { int i, arr[5],sum = 0; printf("Nhap 5 so nguyen:\n"); for(i = 0; i < 5; ++i) { // (arr + i) la tuong duong voi &arr[i] scanf("%d", (arr + i)); // *(arr + i) la tuong duong voi arr[i] sum += *(arr + i); } printf("Sum = %d", sum); return 0;}KẾT QUẢ :
Nhap 5 so nguyen:
1
2
3
4
5
Sum = 15