Con trỏ thao tác với struct trong C
1.Con trỏ trỏ đến struct
Chúng ta đã biết rằng một con trỏ là một biến trỏ đến địa chỉ của một biến khác của bất kỳ loại dữ liệu như int, char, float….vv
Tương tự như vậy, chúng ta có thể có một con trỏ đến cấu trúc, nơi một biến con trỏ có thể trỏ đến địa chỉ của một biến cấu trúc .
Xét ví dụ dưới đây, tôi khai báo con trỏ p cho kiểu struct sinh viên:
2.Con trỏ truy cập thành phần struct
Có hai cách để truy cập các thành phần của cấu trúc bằng cách sử dụng con trỏ:
- Sử dụng toán tử * (dấu sao) và toán tử dấu “.” (dấu chấm)
- Sử dụng toán tử -> (mũi tên)
2.1 Sử dụng toán tử sao kết hợp với chấm
Ở ví dụ trên, ta cần truy cập vào các thành phần như Mã Sinh Viên, Tên Sinh Viên, Điểm Sinh Viên bằng con trỏ, ta sẽ sử dụng như sau:
Giải thích:
Để truy cập một thành phần của cấu trúc,ta sẽ viết con trỏ *p theo sau bởi toán tử dấu chấm ( . ), sau đó là thành phần cần truy cập.
2.2 Sử dụng toán tử mũi tên
Phương pháp sử dụng toán tử * (sao) kết hợp với dấu “.” (chấm), đôi khi làm khó hiểu và ít được sử dụng khi thao tác con trỏ với kiểu dữ liệu struct.
Vì thế, ngôn ngữ C cung cấp cho chúng ta thêm một toán tử gọi là toán tử -> (mũi tên).
Ở ví dụ này, tôi sử dụng toán tử -> thay thế cho toán tử ( * ) và (.) ở ví dụ trên:
Không có nhận xét nào: