分享

存储空间的动态分配与释放

 wlk8611 2013-02-03

 

1,关于malloc()函数

    函数调用的一般形式:

    (类型标识符*malloc(size)

  • malloc()函数的功能是在内存动态分配一个长度为size的一个连续空间,含数返回值是该区域的首地址。

  • (类型标识符*)是强制类型转换。因为函数返回的指针的是五类型的,用户根据存储空间的用途把函数调用返回的指针强制转换为相应的类型。

  • size是一个无符号数,单位是字节。

2calloc()函数

函数调用的一般格式:

(类标识符*calloc(n,size)

  • calloc()函数的功能是在内存动态分配n个长度为size的连续空间,函数返回值是该区域的首地址。

  • 为正整数。

3free()函数

函数调用一般形式:

Free(指针变量名);

代码
复制代码
#include"iostream"
using namespace std;
float average(int *p,int n)
{
int i;
float ave=0;
for(i=0;i<n;i++)
ave
+=*(p+i);
return ave/n;10 11 }
int main()
{
int i,n,*p;
cin
>>n;
p
=(int*)malloc(n*sizeof(int));//或p=(int*)calloc(n,sizeof(int));
for(i=0;i<n;i++)
scanf(
"%d",p+i);
printf(
"%.2f\n",average(p,n));
free(p);
}


复制代码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多