Gần đây tôi đã bắt đầu sử dụng từ khóa static
mới. static
có nghĩa là gì ở đây?từ khóa tĩnh bên trong mảng [] ngoặc vuông
void fun(int some_array[static 7]);
EDIT: ai đó có thể đưa ra một ví dụ nơi này có thể hữu ích?
Gần đây tôi đã bắt đầu sử dụng từ khóa static
mới. static
có nghĩa là gì ở đây?từ khóa tĩnh bên trong mảng [] ngoặc vuông
void fun(int some_array[static 7]);
EDIT: ai đó có thể đưa ra một ví dụ nơi này có thể hữu ích?
Tiêu chuẩn nói trong 6.7.6.3:
Một tuyên bố của một tham số là '' mảng của loại '' sẽ được điều chỉnh để '' con trỏ đủ điều kiện để gõ '', nơi mà các loại vòng loại (nếu có) là các chỉ định trong [và] của dẫn xuất loại mảng. Nếu từ khóa tĩnh cũng xuất hiện trong [và] của loại mảng dẫn xuất, sau đó cho mỗi cuộc gọi đến hàm, giá trị của đối số thực tế tương ứng sẽ cung cấp quyền truy cập vào phần tử đầu tiên ít nhất là nhiều phần tử được chỉ định bởi biểu thức kích thước .
Đó là một tính năng được giới thiệu trong C99. Vì vậy, có bạn có nó: some_array
phải dài ít nhất 7 phần tử.
Như họ nói, không thể có tiêu chuẩn mới mà không có cách sử dụng mới cho từ khóa static
.
"Như họ nói, không thể có một tiêu chuẩn mới mà không có một cách sử dụng mới cho từ khóa' tĩnh' ", tôi biết rằng cảm thấy bro. – paulotorrens
được lấy từ http://hamberg.no/erlend/posts/2013-02-18-static-array-indices.html? –