30/09/2018, 19:19
Con trỏ trong C
Cho em hỏi về con trỏ và mảng 2 chiều .
ví dụ bi giờ em có 1 đoạn code:
int arr[12][12];
int **ptr;
Bi giờ muốn cho con trỏ trỏ đến mảng này sau đó in ra mảng bằng con trỏ thì làm thế nào ạ?
Các anh chị có thể giải thích giúp em từng bước làm đó được không ạ?
và thêm 1 câu nữa là nếu cho con trỏ ptr trỏ đến mảng 2 chiều thì ví dụ như
int arr[3][4];
int **ptr;
thì *ptr[4] tương đương với arr[4] phải ko ạ ?
Bài liên quan
Đối với mảng thì tên mảng chính là con trỏ trỏ tới phần tử đầu tiên của mảng rồi, bạn không cần phải khai báo biến con trỏ nữa.
Ví dụ: array sẽ trỏ đến array[0] (array = &array[0]) trong mảng array[20], => *array = array[0]. Tổng quát: array + i = &array[i], *(array + i) = array[i]. ( mình làm cái này để bạn sẽ dễ hiểu hơn ở phần array 2 chiều)
Với mảng 2 chiều A[n][m] thì bạn có thể coi nó như mảng một chiều n phần tử, mỗi phần tử là 1 mảng m phần tử nữa ( đau đầu nhỉ )
Chương trình thì bạn tự viết nhé
Hay đấy, đọc loạn hết cả lên!! Lâu nay chưa dùng mảng 2 chiều bao giờ giờ mới biết đó!