Các lớp lưu trữ chỉ định phạm vi, thời gian tồn tại và ràng buộc của các biến.
Để xác định đầy đủ một biến, người ta không chỉ cần đề cập đến ‘kiểu’ của nó mà còn cả lớp lưu trữ của nó.
Tên biến xác định một số vị trí vật lý trong bộ nhớ máy tính, nơi tập hợp các bit được cấp phát để lưu trữ các giá trị của biến.
Lớp lưu trữ cho chúng tôi biết các yếu tố sau -
- Biến được lưu trữ ở đâu (trong bộ nhớ hoặc thanh ghi cpu)?
- Giá trị ban đầu của biến sẽ là bao nhiêu, nếu không có gì được khởi tạo?
- Phạm vi của biến là gì (nơi nó có thể được truy cập)?
- Tuổi thọ của một biến là gì?
Ràng buộc
Ràng buộc tìm sự xuất hiện ràng buộc tương ứng (khai báo / định nghĩa) cho một sự xuất hiện được áp dụng (sử dụng) một số nhận dạng.
- Phạm vi của các biến nên được biết.
Cấu trúc khối là gì?
Mã định danh là biến trong khối nào?
- Điều gì sẽ xảy ra nếu chúng tôi sử dụng lại cùng một tên số nhận dạng?
‘C’ cấm sử dụng cùng một tên định danh trong cùng một phạm vi.
Có thể sử dụng cùng một tên trong các phạm vi khác nhau.
Ví dụ
double f,y; int f( ) //error { --- ---- ---- } double y; //error
Ví dụ
double y; int f( ){ double f;//legal int y; //legal }
Ví dụ
Sau đây là chương trình C để liên kết một biến -
#include<stdio.h> int i=33; main() { extern int i; { int i=22; { const volatile unsigned i=11; printf("i=%d\n",i); } printf("i=%d",i); } }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
i=11 i=22