我正在用 C 语言编写一个函数,该函数将一个数组作为输入并给出两个数组作为输出。该函数将写入作为参数传入的数组。作为防止内存错误的“故障安全”,我想检查传递给函数的指针是否是有效的内存地址,如果是,则释放它。这是我到目前为止的代码,其中我仍然不确定的部分已被删除:
int fft( double* signal, double* real, double* imag, int size ) {
double retVal;
/*initialize output arrays*/
if( /*real is a valid memory address */ ) {
free( real );
}
我如何检查这real
是一个有效的内存地址,当我尝试释放它时不会出现段错误?