您的位置:首页 > 其它

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

2016-01-15 00:00 405 查看
1,关于malloc()函数

函数调用的一般形式:

(类型标识符*)malloc(size)

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

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

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

2,calloc()函数

函数调用的一般格式:

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

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

为正整数。

3,free()函数

函数调用一般形式:

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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: