Hướng dẫn cách sao chép struct trong C. Bạn sẽ học được 2 cách căn bản để copy struct trong C sau bài học này.
Chúng ta có 2 phương pháp sao chép struct trong c như sau:
- Sử dụng toán tử bằng
- Sử dụng con trỏ
Sao chép struct trong C bằng toán tử bằng
Để sao chép (copy) toàn bộ nội dung của một thực thể của một cấu trúc sang một thực thể khác cùng kiểu, chúng ta có thể sử dụng toán tử bằng để gán giá trị, với cú pháp sau đây:
des_instance = src_instance;
Trong đó src_instance
là thực thể nguồn cần copy, và des_instance
là thực thể đích cần dán vào.
Lưu ý là cả 2 thực thể này cần được tạo từ chung một kiểu cấu trúc (struct), để đảm bảo cấu trúc của chúng cũng như kiểu của các thành viên giữa chúng giống nhau thì mới tiến hành sao chép được.
Ví dụ cụ thể, chúng ta tạo ra hai thực thể p1 và p2 từ một kiểu cấu trúc person_1, rồi copy nội dung của p1 sang p2 như sau:
|
Kết quả sao chép kiểu cấu trúc trong C:
p1: Tom M 19 175.2 69.5 |
Bạn có thể thấy toàn bộ nội dung của p1 đã được copy sang p2 rồi phải không nào?
Sao chép struct trong C bằng con trỏ
Phương pháp thứ hai để sao chép struct trong C chính là sử dụng con trỏ. Bằng cách sử dụng con trỏ, sẽ rất thuận tiện cho chúng ta để sao chép giá trị của thực thể của struct tại địa chỉ được lưu trong con trỏ.
- Xem thêm: Con trỏ cấu trúc trong c
Trong phương pháp này chúng ta cũng sử dụng tới toán tử bằng. Tuy nhiên chúng ta không gán trực tiếp giá trị của hai thực thể trong struct, mà sẽ gán gán tiếp thông qua con trỏ của chúng.
Để làm được điều này thì chúng ta cần tạo ra con trỏ nguồn chứa địa chỉ của thực thể nguồn, và con trỏ đích để chứa địa chỉ của thực thể đích. Sau đó thì gán giá trị của con trỏ nguồn cho con trỏ đích là xong.
Ví dụ cụ thể, chúng ta tạo ra hai con trỏ để chứa địa chỉ của các thực thể p1 và p2 được tạo ra từ kiểu cấu trúc people, rồi copy nội dung của p1 sang p2 thông qua phép gán con trỏ như sau:
|
Kết quả sao chép kiểu cấu trúc trong C:
p1= Kiyoshi 30 Tokyo BrSE |
Bạn có thể thấy toàn bộ nội dung của p1 đã được copy sang p2 rồi phải không nào?
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn cách sao chép struct trong c rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/c/lap-trinh-c-co-ban/kieu-cau-truc-trong-c/sao-chep-struct-trong-c/
HOME › lập trình c cơ bản dành cho người mới học lập trình>>15. kiểu cấu trúc trong c