有人能告诉我这个警告是什么意思吗
s_sort.c: In function 'main':
s_sort.c:15:15: warning: incompatible implicit declaration of built-in function
'malloc' [enabled by default]
A[i].name = malloc(MAXCHAR*sizeof(char));
我正在尝试执行以下代码。该平台是Windows x64上的GCC 4.8.1(TDM-GCC)。就我所看到的访问结构成员的问题而言。
#include <stdio.h>
#define MAX 3
#define MAXCHAR 100
int main(){
struct STUDENT
{
int studentID;
char* name;
char grade;
} A[MAX];
int i;
printf("n");
for (i=0;i<MAX;i++)
{
A[i].name = malloc(MAXCHAR*sizeof(char));
}
for (i=0;i<MAX;i++)
{
scanf("%d",&(A[i].studentID));
scanf("%s",A[i].name);
scanf("%c",&(A[i].grade));
}
printf("n");
for (i=0;i<MAX;i++)
{
printf("%d ",A[i].studentID);
printf("%s ",A[i].name);
printf("%c ",A[i].grade);
printf("n");
}
for (i=0;i<MAX;i++)
{
free(A[i].name);
}
}
这意味着编译器无法找到malloc
的声明。因此,它会为您生成一个默认的int malloc(...)
声明。只有include <stdlib.h>
。