相关疑难解决方法(0)

我是否施放了malloc的结果?

这个问题,有人建议意见,我应该不会投的结果malloc,即

int *sieve = malloc(sizeof(int) * length);
Run Code Online (Sandbox Code Playgroud)

而不是:

int *sieve = (int *) malloc(sizeof(int) * length);
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?

c malloc casting

2318
推荐指数
27
解决办法
22万
查看次数

error:函数返回局部变量的地址

我是C的初学者,我正在自学.我正在创建以下功能:

char *foo(int x){
     if(x < 0){
        char a[1000];
        char b = "blah";
        x = x - 1;
        char *c = foo(x);
        strcpy(a, b);
        strcat(a, c);
        return a;
      }
    blah ...
}
Run Code Online (Sandbox Code Playgroud)

我基本上试图返回一个附加的字符串,但我收到以下错误:

"错误:函数返回局部变量的地址",任何建议,如何解决这个问题?

c return strcpy strcat

24
推荐指数
4
解决办法
8万
查看次数

标签 统计

c ×2

casting ×1

malloc ×1

return ×1

strcat ×1

strcpy ×1