c linux malloc calloc realloc memset

  1. malloc
    void malloc(unsigned int size);
    分配长度为size的内存块。
    成功则返回指向被分配内存的指针,否则返回空指针null
    int
    buf = (int*)malloc(100);
    free(buf);

  2. calloc
    void *calloc(unsigned n,unsigned size);
    在内存的动态区存储中分配n个长度为size的内存块。
    成功返回指向被分配内存的指针,否则返回空指针null
    int buf = (int)calloc(10,sizeof(int));
    free(buf);

  3. realloc
    void *realloc(void *mem_address,unsigned int newsize);
    调用mem_address的指向内存区域的大小为newsize长度。
    成功则返回被分配内存的指针,否则返回null指针。
    当mem_address指向null,此时功能同malloc函数
    当newsize为0,功能同free

  4. memset
    void *memset(void *s,char ch,unsigned n);
    设置s中的所有字节为ch,s数组大小为n。
    char s[] = “hello word\n”;
    printf(“1:%s\n”,s);
    memset(s,‘X’,strlen(s)-1);

你可能感兴趣的:(c++)