Is there a difference between initializing a variable and assigning it a value immediately after declaration?

前端 未结 4 1232
孤街浪徒
孤街浪徒 2020-12-19 21:05

Assuming a purely non-optimizing compiler, is there any difference in machine code between initializing a variable and assigning it a value after declaration?

4条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-19 21:24

    An important distinction comes into play when you add a const qualifier:

    int const x = 2;
    

    is valid C

    int const x;
    x = 2;
    

    isn't. Another important difference is for static variables:

    static int x = f();
    

    is invalid C

    static int x;
    x = f();
    

    is valid.

提交回复
热议问题