1.malloc()函数原型
void*malloc(size_t); //对于指定类型的指针变量,必须要强制类型转化;
int *ptr=(int *)malloc(sizeof(int)*num);
2.注意堆内存分配要检测内存是否分配成功;
if (NULL!= ptr) //若分配不成功,就返回NULL给ptr……
3.若要申请一个0字节的内存空间,
int *p;
p=(int *)malloc(sizeof(int)*0);
printf("%x", p); ///结果并不为NULL,而是一个正常的地址,但无法使用,此时对于if (NULL!=ptr)就不成功了,注意这点。。。
4. 内存释放free
free(p); ///free操作 只是将其指针和其指向的地址内存分开,让其不能联系,但是p的值依然不变,那部分地址内容也不变;因此会p变得很危险,所以释放之后就赋值为NULL;