malloc与直接定义变量的区别
//vc6.0编译环境下代码
#include "stdio.h"
#include "malloc.h"
#define N 5
//malloc申请内存
int *function1()
{
int i;
int *a=(int *)malloc(sizeof(int)*N);
for(i=0;i<N;i++)
{
a[i]=i+1;
}
return a;
}
//直接声明
int *function2()
{
int a[N];
int i;
for( i=0;i<N;i++){
a[i]=i+1;
}
return a;
}
int main()
{
int *a=function1();
int i;
int *b=function2() ;
for( i=0;i<N;i++)
{
printf("%d",a[i]);
}
free(a);
printf("\n");
for(i=0;i<N;i++)
{
printf("%d",b[i]);
}
printf("\n");
}