- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, const char * argv[]) {
- int *p1;
- int *p = (int *)malloc(4*sizeof(int));//16个字节
- if (p!=NULL) {
- //申请成功做的事情
- p=relloc(p,40*sizeof(int));//扩充为40*4个单元内存空间
- //初始化
- for(int i=0;i<40;i++){
- scanf("%d",*(p+i));
- }
-
- }else{
- //内存申请失败
- printf("内存申请失败!\n");
-
- }
- //应该使用free()函数释放内存空间
- //free(要释放的空间的首地址)
- free(p);
- //free(p)以后,p是一个野指针
- p = NULL; //将指针p栓在0地址
- return 0;
- }
复制代码 |
|