[I know this. It comes from early Turbo Pascal.
Wrong. It was even earlier. It is part of Niklaus Wirth's
But the attribute should be named "static" and not "const".
Although the concept of static existed at the time, it was not main stream. Neither Pascal, nor K&R knew about it. As did many other languages except a similar syntax in COBOL.
Since there was no "static" it should stay
const. Even ISO Pascal pre-dates the introduction of static in the curly brackets.
And, btw static and typed const are rather similar:one is C syntax for a Pascal typed const, do not confuse with const : in normal language they mean the same or very close to the same. Non-argument. Know your history. Also do not confuse with static procedures and functions. That's again something completely different. You are confusing semantics.
To demonstrate a piece of curly brackets:
#include <stdio.h>
void foo()
{
int a = 10;
static int sa = 10;
a += 5;
sa += 5;
printf("a = %d, sa = %d\n", a
, sa
); }
int main()
{
int i;
for (i = 0; i < 10; ++i)
foo();
}