在这个问题,有人建议意见,我应该不会投的结果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中free()函数的文章释放了未使用变量的内存.在我的情况下,我有以下代码块.
char *injectStrAt(char *str, char *strToIn, int pos)
{
char *strC = malloc(strlen(str) + strlen(strToIn) + 1);
strncpy(strC, str, pos);
strC[pos] = '\0';
strcat(strC, strToIn);
strcat(strC, str + pos);
return strC;
}
Run Code Online (Sandbox Code Playgroud)
我用上面的函数将一个字符串块注入一个数组.我正在malloc用来创造一个新的char*.在上述情况下我需要做free(strC)什么?建议请.