Con trỏ và mảng trong C++


1. Truy xuất địa chỉ ô nhớ tại một vị trí của mảng bằng con trỏ

Vị trí đầu tiên của mảng: int *contro = &arr

Tiến đến vị trí tiếp theo:  contro+1

Lấy vị trí theo chỉ số của mảng: int *contro = &arr[2]

 

2. Lấy giá trị tại vị trí con trỏ

int    *contro = &arr;    // lấy địa chỉ phần tử đầu tiên của mảng

int a = *(contro +1);    // lấy giá trị tại địa chỉ đầu tiền + 1 của mảng

 

3. Ví dụ

#include <iostream>
using namespace std;
int main(int argc, char** argv) {
    int arr[] = { 3, 5, 65, 23, 11 };
    // Lay danh sach dia chi cua cac gia tri trong mang
     int *control = &arr; // lay dia chi dau mang ARR
     int a = *(control);  
     int b = *(control +1);
     int c = *(control +2);
     // hien thi ket qua
    cout<< "Gia tri tai vi tri 0: " << a <<endl;
    cout<<  "Gia tri tai vi tri 1: " <<b <<endl;
    cout<<  "Gia tri tai vi tri 2: " <<c <<endl;
    return 0;
}

 

Kết quả

Gia tri tai vi tri 0: 3
Gia tri tai vi tri 1: 5
Gia tri tai vi tri 2: 65