GIÁO TRÌNH C++ - Trang 37

mypointer = &value1;

*mypointer = 10;

mypointer = &value2;

*mypointer = 20;

cout << "value1==" << value1 << "/ value2==" << value2;

return 0;

}

value1==10 / value2==20

Chú ý rằng giá trị của

value1

value2

được thay đổi một cách gián tiếp. Đầu

tiên chúng ta gán cho

mypointer

địa chỉ của

value1

dùng toán tử lấy địa chỉ (

&

)

và sau đó chúng ta gán

10

cho giá trị được trỏ bởi

mypointer

, đó là giá trị được

trỏ bởi

value1

vì vậy chúng ta đã sửa biến

value1

một cách gián tiếp

Để bạn có thể thấy rằng một con trỏ có thể mang một vài giá trị trong cùng một
chương trình chúng ta sẽ lặp lại quá trình với

value2

và với cùng một con trỏ.

Đây là một ví dụ phức tạp hơn một chút:

// more pointers

#include <iostream.h>

int main ()

{

int value1 = 5, value2 = 15;

int *p1, *p2;

p1 = &value1; // p1 = địa chỉ của value1

p2 = &value2; // p2 = địa chỉ của value2

*p1 = 10; // giá trị trỏ bởi p1 = 10

*p2 = *p1; // giá trị trỏ bởi p2 = giá trị trỏ bởi p1

p1 = p2; // p1 = p2 (phép gán con trỏ)

*p1 = 20; // giá trị trỏ bởi p1 = 20

cout << "value1==" << value1 << "/ value2==" << value2;

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.