gpt4 book ai didi

c - #define ALLOC(p,n) (p*)malloc(sizeof(p)*n))

转载 作者:行者123 更新时间:2023-11-30 20:24:59 25 4
gpt4 key购买 nike

我正在尝试使用宏分配一些内存。但我收到此错误:

error: expected expression before ‘)’ token

error: expected statement before ‘)’ token

这是我的代码:

#define ALLOC(p,n) (p*)malloc(sizeof(p)*n)

int main(){
char *ponteiro;
ponteiro=ALLOC(5,ponteiro);
return 0;
}

最佳答案

更改:

#define ALLOC(p,n) (p*)malloc(sizeof(p)*n)

至:

#define ALLOC(p,n) malloc(sizeof(*(p))*(n))

并在main()中在返回之前释放分配的内存

int main(){
char *ponteiro;
ponteiro = ALLOC(ponteiro,5);
/* Do something */
free(ponteiro);
return 0;
}

关于c - #define ALLOC(p,n) (p*)malloc(sizeof(p)*n)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31383719/

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