Khi sửa đổi biến, từ khóa tĩnh chỉ định biến có thời lượng tĩnh (được phân bổ khi chương trình bắt đầu và deallocated khi chương trình kết thúc) và khởi tạo nó thành 0 trừ khi giá trị khác được chỉ định. Khi sửa đổi một biến hoặc hàm tại phạm vi tệp, từ khóa tĩnh xác định rằng biến hoặc hàm có liên kết nội bộ (tên của nó không hiển thị từ bên ngoài tệp mà nó được khai báo).
Biến tĩnh được khai báo trong một hàm duy trì trạng thái giữa các cuộc gọi đến hàm đó.
Khi sửa đổi thành viên dữ liệu trong khai báo lớp, từ khóa tĩnh chỉ định rằng một bản sao của thành viên được chia sẻ bởi tất cả các phiên bản của lớp. Khi sửa đổi một hàm thành viên trong một khai báo lớp, từ khóa tĩnh xác định rằng hàm chỉ truy cập các thành viên tĩnh.
Thành phần dữ liệu tĩnh của lớp phải được khởi tạo ở phạm vi tệp.
Trong mã đệ quy, một đối tượng tĩnh hoặc biến được đảm bảo có cùng trạng thái trong các trường hợp khác nhau của một khối mã.
Các thành viên của liên minh không thể được khai báo là tĩnh. Một liên minh ẩn danh được khai báo trên toàn cầu phải được khai báo một cách rõ ràng là tĩnh.
Đối tượng và biến được xác định bên ngoài tất cả các khối có tuổi thọ tĩnh và liên kết bên ngoài theo mặc định. Một đối tượng toàn cầu hoặc biến được khai báo rõ ràng là tĩnh có liên kết nội bộ.
Không có 'cấu trúc tĩnh' trong mã của bạn. Nó chỉ là 'static' instance của' struct node'. – iammilind
@iammilind: nó thậm chí không phải là, nó là một thể hiện của 'struct node *'. –