最佳答案
举个例子:
int *x = i(1, 0);
printf("%d\n", *x);
这会调用未定义的行为,因为函数参数具有自动存储持续时间,并在函数返回时被丢弃。
在函数内部,i
、a
和 b
对象是函数的本地对象,它们的生命周期在函数返回时结束。
关于对C中返回指针时的安全问题感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145203/
最佳答案
举个例子:
int *x = i(1, 0);
printf("%d\n", *x);
这会调用未定义的行为,因为函数参数具有自动存储持续时间,并在函数返回时被丢弃。
在函数内部,i
、a
和 b
对象是函数的本地对象,它们的生命周期在函数返回时结束。
关于对C中返回指针时的安全问题感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145203/