存储空间的动态分配与释放
2010-10-05 16:15
369 查看
1,关于malloc()函数
函数调用的一般形式:
(类型标识符*)malloc(size)
malloc()函数的功能是在内存动态分配一个长度为size的一个连续空间,含数返回值是该区域的首地址。
(类型标识符*)是强制类型转换。因为函数返回的指针的是五类型的,用户根据存储空间的用途把函数调用返回的指针强制转换为相应的类型。
size是一个无符号数,单位是字节。
2,calloc()函数
函数调用的一般格式:
(类标识符*)calloc(n,size)
calloc()函数的功能是在内存动态分配n个长度为size的连续空间,函数返回值是该区域的首地址。
为正整数。
3,free()函数
函数调用一般形式:
Free(指针变量名);
代码
函数调用的一般形式:
(类型标识符*)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); }
相关文章推荐
- C++之存储空间的动态分配和释放
- 二维指针、数组指针和指针数组存储空间的动态分配和释放
- C++ 动态存储空间的分配和释放 new与malloc的区别
- 存储空间的动态分配与释放
- 动态存储分配及释放
- 用new和delete运算符进行动态分配和撤销存储空间
- 一个问题:物理内存有限的情况下,多个进程存在时,每个进程实际分配的物理内存有多少?(如果某程序申请了很大的动态存储空间)
- [转载]存储空间动态分配
- C语言 局部变量存储空间的分配和释放 奇怪现象及猜想
- 存储空间动态分配
- C++函数模板递归一二维数组动态分配存储空间实例1
- Linux C 存储空间动态分配
- 第十五周 项目3:(2)用new和delete运算符进行动态分配的撤销存储空间
- C++函数模板递归一二维数组动态分配存储空间实例1
- 动态存储空间分配,未知行数二维数组创建及内存释放
- C++之动态空间分配与释放:new & delete
- c++动态分配空间 释放空间
- 一、C++ 分配与释放存储空间
- APUE 2-16 为路径名动态的分配存储空间
- c++中使用new动态分配存储空间