Dạ tính hình là em gặp rắc rối như sau: Giả sử như em có func
char test()
{
char c;
//lệnh bên dưới
return c;
}
rồi làm sao em có thể dùng lại cái c đó ở một hàm khác ạ?
Dạ tính hình là em gặp rắc rối như sau: Giả sử như em có func
char test()
{
char c;
//lệnh bên dưới
return c;
}
rồi làm sao em có thể dùng lại cái c đó ở một hàm khác ạ?
Khi em return c rồi thì em có thể dùng ở hàm khác mà.
Ví dụ:
foo() {
char c = test();
}
Còn nếu em muốn c của hàm test là c chung cho mọi hàm thì mình tạo biến global, biến global tức là biến đặt ngoài mọi hàm.
char c;
char test() {
// sử dụng c ở đây
}
char foo() {
// sử dụng c ở đây
}
Ủa…nếu theo cách một của anh…thì mình phải tạo thêm một biến c khác nữa ạ?
Đúng vậy, theo cách đầu thì mình tạo biến khác, cái được chuyển từ hàm test sang hàm foo là giá trị của c, không phải là c.
Một biến bao gồm:
Trong cách 1, mình chỉ chia sẻ giá trị biến.
Trong cách 2, mình chia sẻ cả hai cho mọi hàm.
Nhưng cách 2 không phải là cách hay trong thiết kế phần mềm lâu dài, nếu ta sử dụng biến global nhiều thì sẽ dẫn đến dễ lỗi chương trình. Lỗi là vì nhiều nơi có thể sửa giá trị của biến, code càng nhiều, càng khó kiểm soát khi nào và chỗ nào thay đổi giá trị của biến.
đa tạ anh
công nhận DNH nhiều icon độc thiệt :v
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?