动态内存分配malloc,free,calloc,realloc.

2 * malloc:
3 * 根据指定的参数分配一个连续的内存块,
4 * 成功返回指针内存块的指针(void *),失败返回NULL.
5 * void *指针的由来:
6 * malloc是如何知道你请求的内存需存储的int,float还是struct呢?
7 * 它并不知道,所以malloc返回一个void *.正缘于这个原因,标准表示
8 * 一个void*指针可以转换为任何其他类型的指针.
9 *
10 *
11 */
12 #include<stdio.h>
13 #include<stdlib.h>
14
15 #define NUM_INT 25
16
17
18 int main()
19 {
20 int *p;
21 p = (int *)malloc(NUM_INT * sizeof(int));
22 if(p == NULL)//检查是否分配成功(必须)
23 {
24 return -1;
25 }
26
27 int *p2, i;
28 p2 = p;
29 for(i = 0; i < NUM_INT; i++)//初始化分配的内存
30 {
31 *p2++ = i;
32 //p2[i] = i;
33 }
34
35 return 0;
36 }

posted @ 2011-05-20 10:54  zendPger  Views(208)  Comments(0Edit  收藏  举报