在c源代码中,A和B会有所不同吗?
typedef struct asdf {
int aa;
int bb;
} asdf;
// A
void func1(int a) {
if(a) return;
asdf *bb;
//****
}
// B
void func1(int a) {
asdf *bb;
if(a) return; // if return here, will bb become a memory leak?
// ***
}
在B中,如果a为真返回bb会成为内存泄漏吗?
最佳答案
不,因为没有动态分配,它不会成为内存泄漏。您需要调用malloc
或calloc
而没有相应的free
来泄漏内存。
在您的代码中,您只是声明一个指向结构的指针。
关于c - c中的struct语句,这2个会有所不同吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45607967/