inquisitive
inquisitive

Reputation: 1680

Initialization of function static variables

I have one static variable declared inside a function, which is not initialized to zero explicitly.

Are all uninitialized static variables inside functions set to zero by default, just as static variables at the global (file) level are?

Upvotes: 1

Views: 2195

Answers (1)

codaddict
codaddict

Reputation: 455440

All static variables without an explicit initializer are initialized to zero.

All the variables going into the BSS segment are initialized to zero.

In C, all global and static variables without an explicit initializer go into the BSS segment and hence are zero by default.

Upvotes: 6

Related Questions