Một class storage xác định phạm vi (tầm nhìn) và thời gian tồn tại của các biến hoặc funtion trong một chương trình C. Có các class sau đây, mà có thể được sử dụng trong một chương trình C
- auto
- register
- static
- extern
The Auto Storage Class
Auto storage như là các class lưu trữ mặc định cho tất cả các biến cục bộ .
{ int mount; auto int month;}
Ví dụ trên định nghĩa hai biến với các lớp lưu trữ, tự động chỉ có thể được sử dụng trong phạm vi function, tức là các biến địa phương.
The Register Storage Class
Register Storage Class được sử dụng để xác định các biến cục đó phải được lưu trữ trong một vùng đăng kí thay vì RAM. Điều này có nghĩa là biến có kích thước tối đa bằng với kích thước đăng ký (thường là một từ) và không thể có '&' toán tử đơn áp dụng cho nó (vì nó không có một vị trí nhớ).
{
register int miles;
}
Việc đăng ký chỉ nên được sử dụng cho các biến đó có yêu cầu truy cập nhanh. Cũng cần lưu ý rằng việc xác định "đăng ký" không có nghĩa là các biến sẽ được lưu trữ trong một thanh ghi. Nó có nghĩa là nó có thể được lưu trữ trong một đăng ký tùy thuộc vào phần cứng và thực hiện hạn chế.
The Static Storage Class
Các static storage class chỉ thị các trình biên dịch để giữ một biến cục bộ trong sự tồn tại trong thời gian chạy chương trình thay vì tạo ra và phá hủy nó mỗi khi nó đi vào và đi ra khỏi phạm vi. Vì vậy, làm cho biến cục bộ tĩnh được phép duy trì các giá trị của họ giữa các lần gọi funtion.
Việc chỉnh sữa loại class này cũng có thể được áp dụng cho các biến toàn cục. Khi điều này được thực hiện, phạm vi biến gây ra được giới hạn cho các tập tin mà nó được khai báo.
Trong lập trình C, khi static class được sử dụng trên một thành viên lớp dữ liệu, nó chỉ gây ra một bản sao của thành viên đó phải được chia sẻ bởi tất cả các đối tượng của lớp mình.
Bạn không thể hiểu ví dụ này vào lúc này bởi vì tôi đã sử dụng funtion và các biến toàn cục, mà tôi đã không giải thích cho đến nay. Vì vậy, bây giờ chúng ta hãy tiến hành ngay cả khi bạn không hiểu nó hoàn toàn. Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả sau đây:
Các extern Storage Class
Các extern lớp lưu trữ được sử dụng để cung cấp cho một tài liệu tham khảo của một biến toàn cục đó là có thể nhìn thấy tất cả các file chương trình. Khi bạn sử dụng 'extern ", các biến không thể được khởi tạo như là tất cả nó là chỉ tên biến ở một vị trí lưu trữ đã được định nghĩa trước.
Khi bạn có nhiều file và bạn xác định một biến toàn cục hoặc một funtion, mà sẽ được sử dụng trong các tập tin khác cũng có, sau đó extern sẽ được sử dụng trong tập tin khác để cung cấp cho tài liệu tham khảo của biến hoặc chức năng xác định. Extern được sử dụng để khai báo một biến toàn Cục hoặc funtion trong tập tin khác.
Các sửa đổi lần extern thường được sử dụng khi có hai hoặc nhiều tập tin chia sẻ các biến toàn cầu tương tự hoặc các funtion như được giải thích dưới đây.
Ở đây, extern từ khóa đang được sử dụng để khai báo số trong tập tin thứ hai mà vì nó có định nghĩa của nó trong tập tin đầu tiên, main.c. Bây giờ, biên dịch hai file này như sau:
$gcc main.c support.c
Điều này sẽ tạo a.out chương trình thực thi, khi chương trình này được thực hiện, nó tạo ra các kết quả sau đây:
5
0 nhận xét:
Đăng nhận xét