动态存储分配
来源:互联网 发布:淘宝会员抓取软件骗局 编辑:程序博客网 时间:2024/05/06 07:58
1.C语言中不允许动态数组类型;例如:int a[n];用变量表示长度,想对数组的大小作动态说明,这是错误的。
2.常用的内存管理函数有以下三个:
1.分配内存空间函数malloc
调用形式:(类型说明符*)malloc(size)
功能:在内存的动态存储区中分配一块长度为"size"字节的连续区域。函数的返回值为该区域的首地址。
“类型说明符”表示把该区域用于何种数据类型。
(类型说明符*)表示把返回值强制转换为该类型指针。
“size”是一个无符号数。
例如:pc=(char *)malloc(100);表示分配100个字节的内存空间,并强制转换为字符数组类型,函数的返回值为指向该字符数组的指针,把该指针赋予指针变量pc。
2.分配内存空间函数 calloc
calloc 也用于分配内存空间。
调用形式:(类型说明符*)calloc(n,size)
功能:在内存的动态存储区中分配n块长度为“size”字节的连续区域。函数的返回值为该区域的首地址。
(类型说明符*)用于强制类型转换。
calloc函数与malloc 函数的区别仅在于一次可以分配n块区域。
例如:ps=(struet stu*)calloc(2,sizeof(struct stu));
其中的sizeof(struct stu)是求stu的结构长度。因此该语句的意思是:按stu的长度分配2块连续区域,强制转换为stu类型,并把其首地址赋予指针变量ps。
3. 释放内存空间函数free
调用形式:
free(void*ptr);
功能:释放ptr所指向的一块内存空间,ptr是一个任意类型的指针变量,它指向被释放区域。被释放区应是由malloc或calloc函数所分配的区域
- 动态存储分配
- 动态存储分配
- 动态存储分配
- 动态存储分配
- 动态存储分配
- 动态存储分配
- 动态存储分配
- 动态存储分配及释放
- C语言动态存储分配
- C语言动态存储分配
- C语言动态存储分配
- 二维数组动态存储分配
- c语言动态存储分配
- 动态存储--堆分配--数组
- 动态存储分配(Thinking in C++)
- C语言动态存储分配函数
- C语言之动态存储分配函数
- 函数运行时的动态存储分配
- 微软的SQLHelper类(含完整中文注释)
- 使用图片创建不规则窗体 windows sdk
- StreamWriter 按文本模式写数据
- 使用SQL存储过程有什么好处
- 日系框架之Mayaa:HTML模板引擎
- 动态存储分配
- java小程序
- 给恋爱中的女孩的20条提醒
- 排列顺序
- MFC 教程【1_MFC概述 】
- !@#$%^&*
- MFC 教程【2_MFC和Win32 】
- MFC 教程【3_CObject类】
- 使用FreeMarker将数据模型中的值合并到模板文件中