在C语言中,
static const int
和const int
在内存分配方面有什么区别?void f(int *a)
{
static const int b = 10;
const int c = 20;
*a = b + c;
}
b
只会消耗sizeof(int)
吗?而c
,对于值20
,它会消耗sizeof(int)
,并在f
执行期间产生一条复制指令,还是只会消耗sizeof(int)
?