C程序设计第四Chap8(新)谭浩强分析.ppt

动态内存申请 malloc void* malloc(unsigned sz); 在内存的动态存储区(也称自由存储区,堆heap)中分配一个长度为sz字节的连续空间。 函数返回值为这块存储空间的开始地址。 申请失败时,返回值为NULL。 动态内存申请与释放 代码区 静态存储区 堆栈 内存区 自由存储区 动态内存释放 free void free(void* p); 释放由p指向的动态存储区中已分配的空间。 p必须是由malloc返回的值。 动态内存申请与释放 例 输入一个整数n,再输入n个整数,按升序排序后输出。 动态内存申请与释放 例 #define N 10 int cmp(const void* a, const void* b) { return *(int*)a - *(int*)b; } int main() { int a[N],n,i; scanf(“%d”,n); for (i=0;in;i++) scanf(“%d”,a[i]); qsort(a,n,sizeof(int),cmp); for (i=0;in;i++) printf(“%d ”,a[i]); return 0; } 动态内存申请与释放 例 #include mall

文档评论(0)

1亿VIP精品文档

相关文档