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