Bài giảng Nhập môn lập trình: Chương 4C - Nguyễn Sơn Hoàng Quốc

Bài giảng "Hàm và kỹ thuật tổ chức chương trình - Biến toàn cục, biến cục bộ" cung cấp cho người học các kiến thức: Khái niệm tầm vực của biến, khái niệm biến cục bộ tĩnh, sử dụng biến cục bộ,. . | Bài giảng Nhập môn lập trình: Chương 4C - Nguyễn Sơn Hoàng Quốc Nhập môn lập trình Trình bày: Nguyễn Sơn Hoàng Quốc Email: nshquoc@ Khái niệm tầm vực của biến • Là phạm vi hiệu quả của biến khi được khai báo trong chương trình • Biến cục bộ (local variable) – Được khai báo bên trong hàm. – Chỉ có tác dụng trong hàm đó. – Được khởi tạo bởi một hằng số hoặc một biểu thức tương ứng với kiểu của biến. – Biến cục bộ sẽ bị xóa khỏi bộ nhớ ngay khi kết thúc hàm. 2 Khái niệm tầm vực của biến • Biến toàn cục (global variable) – Được khai báo bên ngoài tất cả các hàm (kể cả hàm main()). – Có tác dụng trên toàn bộ chương trình(!). – Được khởi tạo một lần duy nhất bởi một hằng số tương ứng với kiểu của nó trước khi được sử dụng bên trong các hàm (tự động được gán giá trị 0 nếu không khởi gán tường minh). – Chỉ được giải phóng khi kết thúc chương trình. 3 Ví dụ biến toàn cục, cục bộ Biến toàn cục Biến cục bộ int x = 999; void f(); void f(); void main() { void main() { int x = 999; printf("%d\n", x); printf("%d\n", x); f(); f(); } } void f() { void f() { printf("%d\n", x); printf("%d\n", x); } } 4 Ví dụ biến toàn cục, cục bộ int x = 1, y = 2; void f() { int x = 3; printf("x = %d, y = %d\n", x, y); if (y > 0) { int z = 4; printf("%d\n", z); } printf("x = %d\n", x); printf("z = %d\n", z); // error } 5 Nói thêm về biến toàn cục • Biến toàn cục (global variable) là cách gọi khác của biến ngoài (external variable). • Nói đúng ra, tầm vực của biến ngoài (hay biến toàn cục) là trong toàn bộ mã nguồn của tập tin chứa khai báo .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
20    71    2    15-05-2024
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.