如果我malloc在我的代码中使用:
int *x = malloc(sizeof(int));
Run Code Online (Sandbox Code Playgroud)
我收到以下警告gcc:
new.c:7: warning: implicit declaration of function ‘malloc’
new.c:7: warning: incompatible implicit declaration of built-in function ‘malloc’
Run Code Online (Sandbox Code Playgroud) 有人可以让我摆脱我的痛苦并告诉我为什么在用数组初始化数组时会出现访问冲突?
#include <stdio.h>
void initData(float **data, size_t N)
{
int i;
*data = (float*)malloc( N * sizeof(float) );
for (i=0; i<N; i++)
{
*data[i] = 1.0;
}
}
void main()
{
float *data;
initData(&data,8);
}
Run Code Online (Sandbox Code Playgroud) 为什么错误
#include <stdio.h>
int main(void)
{
int *p, size, i;
FILE *fp;
fp = fopen("input.txt","r");
fscanf(fp, "%d", &size);
p = (int*)malloc(size*sizeof(int)); //error
for (i = 0; i <size; i++)
fscanf(fp, "%d", &p[i]);
for (i = size-1; i>= 0; i--)
printf("%d\n", p[i]);
free(p);
fclose(fp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在ubuntu上使用"Geany"
并在Geany编译器上:
fileName.c:11:2:警告函数'malloc'的隐式声明[-Wimplicit-function-declatation] fileName.c:11:12:警告:内置函数'malloc'的不兼容隐式声明[默认启用] fileName.c:18:12:warning:函数'free'的隐式声明[-Wimplicit-function-declaration] fileName.c:18:12:警告:内置函数'free'的不兼容隐式声明[enabled-by默认]编译成功完成