Cách sử dụng con trỏ trong C/C++

0
95
Cách sử dụng con trỏ trong C/C++
Cách sử dụng con trỏ trong C/C++

Bài viết này mình sẽ hướng dẫn các bạn cách sử dụng con trỏ trong C/C++. Mình hi vọng bài học này sẽ giúp các bạn tự tin hơn với con trỏ trong C/C++.

Cách sử dụng pointers (con trỏ )

Cách tạo một con trỏ

Để tạo một con trỏ trong C/C++ bạn chỉ cần thêm kí tự * trước tên biến, ví dụ

Khóa học lập trình C từ A - Z miễn phí
Khóa học lập trình C cơ bản

Nếu các bạn viết như thế này cũng đúng

 

Nhưng các bạn nên đặt đấu * liền kề với các tên biến để tránh trường hợp sau

 

Khi đó pointer1 là con trỏ nhưng pointer2, pointer3 là các biến bình thường.

Một cách tốt hơn nữa là chúng ta sẽ khởi tạo giá trị NULL cho con trỏ để đảm bảo con trỏ không chứa địa chỉ nào.

 

Những lưu ý khi sử dụng con trỏ

Bây giờ mình sẽ khởi tạo một biến tuoi và một con trỏ.

Một lưu ý nhỏ các bạn nên đặt tên con trỏ bắt đầu bằng chữ p để có thể dễ phân biệt.

Bây giờ mình sẽ tiến hành tham chiếu con trỏ đến biến tuổi và in giá trị của biến tuổi.

Tại sao lại không phải là 5. Dãy số trên chính là địa chỉ của biến tuoi, nếu muốn lấy giá trị của biến tuoi thì các bạn cần thêm *trước con trỏ.

Để minh chứng điều mình nói ở trên mình sẽ viết chương trình sau để các bạn so sánh

 

Cách sử dụng con trỏ trong một function

Cách sử dụng con trỏ để truyền vào function

Muốn thay đổi một giá trị của biến thì bạn cần truyền địa chỉ của con trỏ vào một function. Hãy là ví dụ về lần trước nhé

Vậy là bài toán đã được giải quyết.

Hoặc các bạn có thể tạo một con trỏ và truyền vào hàm chuyenDoi như sau

Một số lưu ý trong bài học

Sau bài học này các bạn cần phải ghi nhớ những điều sau để việc sử dụng con trỏ đơn giản hơn.

Đối với biến tuoi

  • tuoi có nghĩa là: Lấy giá trị của biến tuoi
  • &tuoi có nghĩa là: Lấy địa chỉ của biến tuoi

Đối với con trỏ ptuoi( trỏ đến biến tuoi )

  • ptuoi có nghĩa là: Lấy địa chỉ của biến tuoi
  • *ptuoi có nghĩa là: Lấy giá trị của biến tuoi

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

ĐỂ LẠI BÌNH LUẬN

Vui lòng nhập nội dung bình luận
Vui lòng nhập tên