c-gcc的警告是什么意思




有人能告诉我这个警告是什么意思吗

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>

相关内容

  • 没有找到相关文章