gpt4 book ai didi

c - 没有 的自由指针

转载 作者:行者123 更新时间:2023-11-30 20:50:44 28 4
gpt4 key购买 nike

我想知道如何在不使用任何头文件(如<stdlib.h>)的情况下释放指针。

我正在使用一个平台(VX RTOS),但我无法使用 <stdlib.h>所以我收到一条错误消息:implicit declaration of function 'free' [-Werror=implicit-function-declaration] .

我的代码中有几个包含指针的函数。我感冒了好几次给他们打电话。所以我相信我应该释放指针。我想知道如何释放他们。我已将代码中的一个函数放在这里。

int complex1(double a1,double b1,double c1,double d1,int op,double *e1, double *f1){
double c2d2;
//a=real(complex no1);b=imag(complex no1);c=real(complex no2);d=imag(complex no2);c2d2=sqrt(c1*c1+d1*d1)
/*op=type of operation
op=1: addition
op=2: substraction
op=3: multiplication
op=4: division
op=5: absolute value
*/
//Resultant compex number is in the form of e1+1j*f1
//Comlex number addition
if (op==1){
*e1=a1+c1;
*f1=b1+d1;
}
//Comlex number substraction
if (op==2){
*e1=a1-c1;
*f1=b1-d1;
}
//Comlex number multiplication
if (op==3){
*e1=a1*c1-b1*d1;
*f1=b1*c1+a1*d1;
}
//Comlex number division
if (op==4){
c2d2=c1*c1+d1*d1;
*e1=0;*f1=0;
if (c2d2 != 0){
*e1=(a1*c1+b1*d1)/(c2d2);
*f1=(b1*c1-a1*d1)/(c2d2);
}
}
//free(*e1);free(*f1);

return 0;
}

最佳答案

I would like to know how to free a pointer without using any header file like <stdlib.h>.

虽然你可能可以通过声明来逃脱

void free(void* ptr); 

我强烈建议不要走这条路,特别是如果您使用 Visual Studio。使用#include <stdlib.h>除非你有非常充分的理由不这样做。

关于c - 没有 <stdlib.h> 的自由指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39885569/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com