![]() |
Các cao thủ giải thích cho em
Khi lập trình ứng dụng, liên kết các file.c với các hàm .h em nhận thấy răng sử dụng biến toàn cục thường "ổn đinh " hơn là biến cục bộ , ví dụ thế này :chương trình viết tin nhắn ( với keypad và LCD , dspic) em khai bào biến ValueKey là biến cục bộ trong hàm quét phím. Với mội ký tự nhận được từ bàn phim , cho luu vào mảng được khai báo là biến toàn cục , sau đó hiển thị mảng ký tự đó ra LCD thì em nhận thấy rằng LCD có lúc hiển thị được , có lúc không. Còn nếu như khai báo biến ValueKey là biến toàn cục thì LCD lúc nào cũng hiện thị đúng.
Còn một vài vd khác cũng chứng minh rằng nên khai báo biến sử dụng trong các chương trình có nhiều file.c là biến toàn cục. Mong các cao thủ thử phân tích xem. |
Bạn mô tả vậy là chưa rõ ràng vì không có code mẫu dẫn chứng.
Thực sự trong C thì việc sử dụng tham trị đến biến cục bộ hay toàn cục chẳng khác gì nhau cả, vì tham trị là tực hiện copy bản sao. Chỉ có vấn đề xảy ra khi biến toàn cục thực hiện tham chiếu đến 1 biến cục bộ(như gán con trỏ, định địa chỉ theo biến cục bộ) thì mới có vấn đề, vì biến cục bộ được cấp phát động mỗi lần hàm thực thi và bị hủy khi hàm kết thúc. |
Trích:
Có ai gặp trường hợp giống mình không. |
Múi giờ GMT. Hiện tại là 03:37 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam