Trong C tại sao không được gán 2 xâu kí tự cho nhau cùng kiểu cùng kích thước?

giúp e với e thắc mắc

Gán ở đây là bạn dùng phép gán ( dấu = ) hay hàm strcpy?

2 Likes

vì đơn giản xâu là mảng các kí tự. Mà mảng thì không thể gán cho nhau được. bạn phải gán lần lượt từng phần tử

thêm nữa xâu là kiểu tham chiếu reference type nên bạn gán thì nó chỉ copy địa chỉ trên bộ nhớ stack cho mảng được gán.

nên mảng mới này vẫn trỏ tới mảng cũ . Nếu bạn muốn gán nó như kiểu tham trị value type thì mình dùng vòng lặp for chạy từng phần tử và gán sang mang kia tương ứng

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?