|
|
发现gcc高版本编译是会出现warning,是一些很常用函数出现的问题:
marvel@ibmtc:~/test$ make
gcc -g test.c
test.c: In function 'main':
test.c:7: warning: incompatible implicit declaration of built-in function 'malloc'
源代码中是
1 #include <stdio.h>
2
3 int main(void)
4 {
5 int n,i,j;
6 scanf("%d",&n);
7 char** array=(char**)malloc(sizeof(char*)*(n+1));
8 for(i=1;i<=n;i++)
9 {
10 array=(char*)malloc(sizeof(char)*(i+1));
11 for(j=0;j<i;j++)
12 array[j]='a';
13 array='\0';
14 }
15 for(i=1;i<=n;i++)
16 printf("%d %x %s\n",i,array,array);
17 for(i=n;i>0;i--)
18 free(array);
19 free(array);
20 }
此外还有string函数也许出现这种情况,是不是size_t和int的关系呢?
应该如何避免这种warning呢? |
|