C语言之内存分配
malloc函数:
//void *malloc(unsigned int size) int *p; p=(int*)malloc(sizeof(int))//分配一个连续的内存空间,通过类型转换才能存入其他类型的变量。
函数的功能是分配一块长度为size字节的连续空间,由于不知道分配出来的空间是什么类型,因此返回空指针类型。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main(){ 4 int *p,i; 5 if(p=(int*)malloc(10*sizeof(int)))!=Null{ 6 for(i=0;i<10;i++){ 7 p[i]=i*i; 8 } 9 free(p);//释放堆里面所占据的空间 (必须释放) 10 //void free(void *block) 11 } 12 return 0; 13 }
1 //使用memset函数进行分配的内存空间初始化 memset(p,0,10*sizeof(int));