Module 9: Con trỏ
Con trỏ trong C
Khai báo và sử dụng
int x = 10;
int *ptr = &x; // ptr tro den dia chi cua x
printf("%d", *ptr); // 10 (toan tu dereference)
Pointer Arithmetic
int arr[3] = {10, 20, 30};
int *p = arr;
printf("%d", *(p + 1)); // 20
Con trỏ và mảng
int arr[3] = {1, 2, 3};
int *p = arr;
for (int i = 0; i < 3; i++)
printf("%d ", *(p + i));
NULL pointer
int *p = NULL;
if (p != NULL) {
*p = 10;
}
Ví dụ: Hoán đổi giá trị
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}