Lớp lưu trữ chỉ định phạm vi, vòng đời, liên kết biến.
Định nghĩa đầy đủ biến cần kiểu và lớp lưu trữ.
Tên biến xác định vị trí bộ nhớ vật lý lưu giá trị.
Lớp lưu trữ cho biết:
- Lưu ở đâu?
- Giá trị mặc định?
- Phạm vi truy cập?
- Vòng đời?
Phạm vi (Scope)
Phạm vi định nghĩa khả năng thấy đối tượng. Xác định nơi đối tượng có thể truy cập.
Biến cục bộ hoặc toàn cục:
- Biến trong khối có phạm vi cục bộ. Chỉ thấy trong khối định nghĩa.
- Biến ở vùng toàn cục thấy từ định nghĩa đến hết chương trình. Thấy mọi nơi.
Ví dụ
Chương trình C phạm vi biến:
#include <stdio.h>
int c = 30; /* toan cuc */
main(){
int a = 10; // cuc bo
printf("a=%d, c=%d", a, c);
fun();
}
fun(){ printf("c=%d", c); }
Đầu ra
a=10, c=30 c=30
Ví dụ 2
Chương trình C biến cục bộ/toàn cục:
#include <stdio.h>
int a, b;
a = 1, b = 2;
main(){
int c, d;
printf("Nhap c,d: ");
scanf("%d%d", &c, &d);
c = c + d; // bien cuc bo
b = a * b; // bien toan cuc
printf("c=%d\n", c);
printf("b=%d\n", b);
}
Đầu ra
Nhap c,d: 4 7 c=11 b=2