Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

c++ con trỏ

khoảng 1 năm trước 638 lượt xem 2 bình luận

#include<iostream>

 

using namespace std;

 

int tongChiaHetCho3(int n) {

    int sum = 0;

    for (int i = 0; i <= n; i++) {

        if (i % 3 == 0) {

            sum = sum + i;

        }

    }

    return sum;

}

 

void nhapGiaTri(int *p) {

    cout << "Nhap n = ";

    cin >> *p;

}

 

int main() {

    int *n = new int;  

    nhapGiaTri(n);  

 

    int tong = tongChiaHetCho3(*n);  

    cout << "T?ng c�c s? t? 0 d?n " << *n << " chia het cho 3: " << tong << endl;

 

    delete [] n;  

 

    return 0;

}

cho em hỏi khúc code này

int tong = tongChiaHetCho3(*n);

vì sao lại có dấu * ạ ,em chưa hiểu về con trỏ lắm

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Hieu Dang đã bình luận khoảng 1 năm trước

nếu hơi khó hiểu bạn có thể Google thêm 1 số ví dụ về con trỏ là hiểu à :))

Hieu Dang đã bình luận khoảng 1 năm trước

 Vì n dc khai báo là biến con trỏ kiểu int, n ko lưu trữ giá trị mà nó chỉ lưu trữ địa chỉ bộ nhớ tới 1 số nguyên int. Mục đích dấu * là để truy cập giá trị mà biến con trỏ n trỏ tới đó bạn.

Câu hỏi mới nhất