Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tổng mảng dùng con trỏ arithmetic trong C++

Con trỏ trong C++ hỗ trợ phép toán địa chỉ: ptr + i trỏ đến phần tử thứ i, *(ptr + i) truy xuất giá trị (tương đương arr[i]).

Ví dụ mã: Tính tổng 7 số nhập từ bàn phím

#include <iostream>
using namespace std;

int main() {
    int a[7], sum = 0;
    int *ptr;

    cout << "Nhập 7 số: ";
    for (int i = 0; i < 7; ++i)
        cin >> a[i];

    ptr = a; // ptr trỏ đến a[0]
    for (int i = 0; i < 7; ++i)
        sum += *(ptr + i); // hoặc ptr[i]

    cout << "Tổng các phần tử: " << sum << endl;
    return 0;
}

Kết quả mẫu

Nhập 7 số: 1 2 3 4 5 6 7
Tổng các phần tử: 28

Giải thích: ptr + i dịch chuyển i * sizeof(int) byte từ địa chỉ cơ sở. Đây là cơ chế truy xuất mảng cấp thấp của C/C++.