相关疑难解决方法(0)

什么是严格别名规则?

当询问C中常见的未定义行为时,灵魂比我提到的严格别名规则更加开明.
他们在说什么?

c strict-aliasing undefined-behavior type-punning

778
推荐指数
10
解决办法
19万
查看次数

分配了alloca的内存在函数结束时或范围结束时被释放?

如果我有这样的功能:

void bla(int size) {
    while(b){
        char tmp[size];
        ......
    }
}
Run Code Online (Sandbox Code Playgroud)

tmp在while循环的每次迭代中被释放,对吗?

如果我写这个函数:

void bla(int size) {
    while(b){
        char* tmp = alloca(size);
        ......
    }
}
Run Code Online (Sandbox Code Playgroud)

tmp在范围结束时或功能结束时被释放?

c stack allocation

9
推荐指数
1
解决办法
1890
查看次数