zoukankan      html  css  js  c++  java
  • C, dynamically memory allocation

    0.

    1. strcpy() function

    #include <string.h>

    char* strcpy(char* destination, const char* source);

    2. Allocating Memory dynamically:

     (1) void* malloc(int num);

    #include <malloc.h>

    int *p = (int*)malloc(n * sizeof(int));  // cast void* to int*, and the memory is not initialized 

    if (p!= NULL){ /* allocation successful */}

    else {/*allocation fails*/}

    free(p);  // memory leak if not free 

    (2) void* calloc(size_t  num, size_t size);

    #include <stdlib.h>

    int *p = (int*)calloc(n, sizeof(int));  // total allocated bytes are n*sizeof(int) 

    if (p!= NULL){ /* allocation successful */}

    else {/*allocation fails*/}

    free(p);  // memory leak if not free 

    (3) void* realloc(void* ptr, size_t size); 

    Change the size of the memory block pointed to by ptr;

    The function may move the memory block to a new location(whose address is returned by the function)

    In case that ptr is a null pointer, the function behaves like malloc()

    #include <stdlib.h>

    int *p = (int*)realloc(ptr, 200 * sizeof(int));  // expend the allocation to 200*sizeof(int) 

    if (p!= NULL){ /* allocation successful */}

    else {/*allocation fails*/}

    free(p);  // memory leak if not free 

  • 相关阅读:
    博客添加点线粒子
    获取微信公众号音乐
    Linux 命令汇总
    Hbase 数据导入导出
    scala SimpleDateFormat
    shell 日期加减运算
    selenium获取全部页面的html
    关于EEG参考电极
    反相器和晶振做振荡
    HC系列蓝牙模块连接单片机与电脑,传输数据(蓝牙心电测试)
  • 原文地址:https://www.cnblogs.com/sarah-zhang/p/12221371.html
Copyright © 2011-2022 走看看