Lập trình C nâng cao bài 9: Hướng dẫn về con trỏ trong lập trình C

96

Chào mừng các bạn đã đến với học viện công nghệ Vietpro.

Ở bài học trước, các bạn đã được Vietpro hướng dẫn về biến toàn cục và biến cục bộ.

Bài học buổi hôm nay sẽ giúp các bạn có thể hiểu về con trỏ cũng như cách sử dụng chúng trong lập trình C. Chúng ta cùng tìm hiểu nhé.

[VIDEO TUT]

Bấm Subscribe Nhận video học mới nhất :

Chú ý: Các bạn lựa chọn video ở chế độ 720HD để xem được chất lượng hình ảnh và âm thanh tốt nhất nhé.

1. Con trỏ

Đầu tiên, các biến chúng ta đã biết và sử dụng trước đây đều là các biến có kích thước và kiểu dữ liệu xác định người ta gọi là biến tĩnh. Và khi khai báo biến tĩnh bộ nhớ sẽ được cấp phát cho các biến này mà không cần biết trong quá trình thực thi chương trình có sử dụng hết lượng bộ nhớ này hay không. Chính vì thế các biến dạng này sẽ tồn tại suốt trong quá trình biên dịch chương trình mà có những biến chỉ sử dụng một lần. Và nó gây ra những hạn chế như cấp phát bộ nhớ dư gây thừa bộ nhớ hoặc cấp phát thiếu bộ nhớ.

Để tránh những hạn chế trên thì ngôn ngữ C cho ta một loại biến đặc biết gọi là biến động. Biến động có đặc điểm:

  • Chỉ phát sinh lúc bắt đầu chương trình
  • Khi chạy chương trình, kích thước của biến, vùng nhớ, và địa chỉ vùng nhớ được cấp phát cho biến có thể thay đổi
  • Sau khi sử dụng xong có thể giải phóng để tiết kiệm chỗ trống bộ nhớ

Tuy nhiên các biến động không có địa chỉ vùng nhớ nhất định nên ta không thể truy cập đến chúng được. Vì thế ngôn ngữ C cho chúng ta một loại biến để khắc phục tình trạng này là biến con trỏ.

Biến con trỏ không chứa dữ liệu mà chỉ chứa địa chỉ của dữ liệu hay địa chỉ của ô nhớ. Kích thước của biến con trỏ không phụ thuộc vào kiểu dữ liệu mà luôn có kích thước cố định là 2 bytes.

2. Cách sử dụng

Đầu tiên chúng ta tạo khung cho chương trình bằng cách tạo một project mới và lưu lại. Tiếp theo chúng ta khởi tạo một biến mới a = 10 và sau đó khai báo con trỏ

  • Cú pháp

  • Cách sử dụng

Chúng ta thử thay đổi giá trị biến a thông qua việc thay đổi giá trị con trỏ. Cụ thể:

Kểt quả:

Chú ý: Kiểu con trỏ giống kiểu của biến. Con trỏ chỉ chứ địa chỉ của dữ liệu.

Để xem p và a có trỏ cùng một ô nhớ hay không, ta thử kiểm tra:

Kết quả:

Như vậy con trỏ p và a đang trỏ cùng một ô nhớ

Bài học đến đây là kết thúc. Ở bài học tiếp theo, các bạn sẽ được giới thiệu về con trỏ và mảng trong lập trình C.

Chúc các bạn học tốt

Tác giả: Danh Sơn Vietpro

BÌNH LUẬN

Please enter your comment!
Please enter your name here