一 calloc() 作用:分配一个二维存储空间 #include <stdio.h> #include <stdlib.h> int main() { int i,n; int *p1; printf("输入数字:"); scanf("%d",&i); p1=(int*)calloc(i,sizeof(int)); if(p1=NULL) exit(1); for(n=0;n<i;n++) { printf("输入数字 %d",n); scanf("%d",&p1[n]); } //printf("输入:"); for(n=0;n<i;i++) printf("%d",p1[n]); free(p1); return 0; } 二 realloc() 作用:改变已分配内存的大小 #include <stdio.h> #include <stdlib.h> int main() { int input,n; int count=0; int *numbers = NULL; do{ printf("enter an integer value:\n"); scanf("%d",&input); count++; numbers=(int*)realloc(numbers,count *sizeof(int)); if(numbers==NULL) { puts("Error(re)allocting memory"); exit(1); numbers[count-1]=input; } }while(input!=0); printf("Numbers entered:"); for(n=0;n<count;n++)printf("%d",numbers[n]); free(numbers); return 0; } 三 malloc() 作用:分配空间 #include <stdio.h> #include <stdlib.h> int main() { int i,n; char *buffer; printf("the size of string?\n"); scanf("%d",&i); buffer=(char*)malloc(i+1); if(buffer==NULL) exit(1); for(n=0;n<i;n++) buffer[n]=rand()%26+'a'; //buffer[i]=''; printf("%s\n",buffer); free(buffer); return 0; } 四 free():释放内存
标准C内存函数
猜你喜欢
转载自blog.csdn.net/zztingfeng/article/details/54408564
今日推荐
周排行