动态内存函数malloc,calloc,realloc的应用

malloc:

# define  _CRT_SECURE_NO_WARNINGS 2
# include <stdio.h>
# include <stdlib.h>
int main ()
{
	int i=0;
	int *p=NULL;
	int num=0;
	scanf("%d",&num);
	p=(int *)malloc(num*sizeof(int));
	if(p==NULL)
	{
		printf ("申请空间失败\n");
	}
	for (i=0;i<num;i++)
	{
		printf ("%d ",(*(p+i)=i));
	}
	printf ("\n");
	free(p);
	p=NULL;
	system ("pause");
	return 0;
}

calloc:

# define  _CRT_SECURE_NO_WARNINGS 2
# include <stdio.h>
# include <stdlib.h>
int main ()
{
	int *p=NULL;
	int i=0;
	int num=0;
	scanf ("%d",&num);
	p=(int *)calloc (num,sizeof(int));
	if (p==NULL)
	{
		printf ("申请空间失败");
	}
	for (i=0;i<num;i++)
	{
		printf ("%d ",*(p+i));
	}
	printf ("\n");
	free(p);
   system ("pause");
   return 0;
}

realloc:

# define  _CRT_SECURE_NO_WARNINGS 2
# include <stdio.h>
# include <stdlib.h>
int main ()
{
	int *p=NULL;
	int *ptr=NULL;
	int i=0;
	int num=10;
	p=(int *)malloc(num*sizeof(int));
	if (p==NULL)
	{
		printf ("申请空间失败");
	}
	ptr=(int *)realloc(p,num*sizeof(int));  //字节数
	if (ptr!=NULL)
	{
	  p=ptr;
	}
    for (i=0;i<=num;i++)    
    {
		printf ("%d ",(*(p+i)=i));
	}
   printf ("\n");
   free(p);
   system ("pause");
   return 0;
}

猜你喜欢

转载自blog.csdn.net/QLH04_04/article/details/84455137