相关疑难解决方法(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万
查看次数

Typecasting malloc C++

我有一些带有malloc语句的C代码,我想与一些C++代码合并.

我想知道什么时候以及为什么要在C++中使用malloc neccessary进行类型转换?

例如:

char *str = (char*)malloc(strlen(argv[1]) * sizeof(char));
Run Code Online (Sandbox Code Playgroud)

c c++ malloc casting

5
推荐指数
1
解决办法
2048
查看次数

C/C++使用malloc隐式void*cast

关于以下代码片段的问题

  char *p = malloc(10);
Run Code Online (Sandbox Code Playgroud)

当我编译它gcc的任何-std=,这并编译好.

但是使用g ++,-std=这会产生错误:

w.c:4:21: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive]
  char *p = malloc(10);
Run Code Online (Sandbox Code Playgroud)

为什么行为不同?我认为用C编译的所有行都应该用C++编译器编译.这有什么标准要求吗?

c c++ language-lawyer

-1
推荐指数
1
解决办法
570
查看次数

标签 统计

c ×3

c++ ×2

casting ×2

malloc ×2

language-lawyer ×1