关闭

c语言库函数学习3(memory)

633人阅读 评论(0) 收藏 举报
/*
  #include <stdlib.h>
  void* calloc( size_t num, size_t size );
    函数返回指向num个数size大小(以字节为单位)的连续的内存空间的首地址
    并且先把内存中的内容初始化为0

  #include <stdlib.h>
  void free( void* ptr );
    函数释放用calloc,alloc,realloc函数申请的空间

  #include <stdlib.h>
  void *malloc( size_t size );
    函数在堆上分配size大小(以字节为单位)的空间,基本上同calloc函数
    但是它不对内存做初始化

  #include <stdlib.h>
  void *realloc( void *ptr, size_t size );
    函数重新为ptr指针分配空间,新的空间大小为size(以字节为单位)
    并且释放原来分配的空间,只是原来空间的内容还是保留着,还可以
    用原来的指针来访问,他所释放的是操作系统中使用记录表项,即删除
    内存表的信息。
*/


#include 
<stdio.h>
#include 
<stdlib.h>

void main()
{
    
char *alloc;
    
//alloc = (char*)calloc(20, sizeof(char));
    alloc = (char*)malloc(20*sizeof(char));
    
//printf("%s ", alloc);
    for(int i = 0;i < 10;i++)
        
*(alloc + i) = 'a' + i;
    
*(alloc + 10= '
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:45974次
    • 积分:668
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:2篇
    • 译文:0篇
    • 评论:5条