动态内存分配
2014-04-07 23:29
148 查看
Function Nmae | Description |
---|---|
malloc() | 按需求分配指定大小的内存,如果空间不够,返回void 数据类型, 或者NULL |
calloc() | 分配一块指定大小的空间并且初始化为0,如果空间不够,返回NULL |
feallloc() | 改变之前分配的大小,如果新的地址比之前的大,多出来的那一部分没有被初始化,之前所分配的内存其中内容也不变,反之,新的大小里面的内容不变 |
free() | 释放一块内存,这块内存的首地址作为参数传递给函数 |
举个例子,求平均分。
#include <stdio.h> #include <stdlib.h> int main() { int numgrades, i, sum; int *grades; printf("\nEnter the number of grades to be processed: "); scanf("%d", &numgrades); /* here is where the request for memory is made */ grades = (int *) malloc(numgrades * sizeof(int)); /* here we check that the allocation was satisfied */ if (grades == (int *) NULL) { printf("nFailed to allocated grades array\n"); exit(1); } for (i = 0; i < numgrades; i++) { printf(" Enter a grades: "); scanf("%d", &grades[i]); } printf("\nAn array was created for %d integers", numgrades); printf("\nThe average score you entered are:\n"); for (i = 0; i < numgrades; i++) { sum += grades[i]; } printf(" %d\n", sum/numgrades); system("pause"); free(grades); return 0; }
相关文章推荐
- malloc函数 (动态内存分配)
- 《C语言中分配了动态内存后一定要释放吗?》
- c语言学习笔记34之动态内存分配
- C和C++动态内存分配和释放的区别
- 浅析动态内存分配及Malloc/free的实现
- C++内存动态分配
- C++动态内存分配(堆)
- 一维数组和二维数组空间的内存动态分配、参数传递
- 内存动态分配管理
- 改变指针指向的字符内容、动态分配字符型指针变量内存空间
- c语言中的动态内存分配~
- 动态内存分配与释放(new and delete)
- 动态内存分配(new delete)
- XZ_iOS之动态内存分配(Dynamic memory allocation)
- SQL服务器内存有两种基本管理方法:动态分配和静态分配
- c与c++分别是怎样动态分配和释放内存的,有什么区别?
- C和指针之动态内存分配之编程练习4
- libCURL动态分配buffer——节约内存
- Linux-(C/C++)动态内存分配malloc以及相关学习
- 通过动态内存分配来实现类似于动态数组的功能