No. Declaring by itself does not allocate the memory unless it’s the definition.
You got it reversed ![]()
It’s a bit of a shortcut because the first assignment otherwise would be also an initialization by your terms.
it’s at definition time, which is also happpen to be the first time