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

Khởi tạo con trỏ

Khi khai báo con trỏ có thể chúng ta sẽ muốn chỉ định rõ ràng chúng sẽ trỏ tới
biến nào,

int number;

int *tommy = &number;

là tương đương với:

int number;

int *tommy;

tommy = &number;

Trong một phép gán con trỏ chúng ta phải luôn luôn gán địa chỉ mà nó trỏ tới
chứ không phải là giá trị mà nó trỏ tới. Bạn cần phải nhớ rằng khi khai báo một
biến con trỏ, dấu sao (

*

) được dùng để chỉ ra nó là một con trỏ, và hoàn toàn

khác với toán tử tham chiếu. Đó là hai toán tử khác nhau mặc dù chúng được
viết với cùng một dấu. Vì vậy, các câu lệnh sau là không hợp lệ:

int number;

int *tommy;

*tommy = &number;

Như đối với mảng, trình biên dịch cho phép chúng ta khởi tạo giá trị mà con trỏ
trỏ tới bằng giá trị hằng vào thời điểm khai báo biến con trỏ:

char * terry = "hello";

trong trường hợp này một khối nhớ tĩnh được dành để chứa

"hello"

và một con

trỏ trỏ tới kí tự đầu tiên của khối nhớ này (đó là kí tự h ) được gán cho

terry

.

Nếu

"hello"

được lưu tại địa chỉ 1702, lệnh khai báo trên có thể được hình

dung như thế này:

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.