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 

  • 相关阅读:
    【poj1733】 Parity game
    【poj1018】 Communication System
    【poj1017】 Packets
    【poj1568】 Find the Winning Move
    【poj1085】 Triangle War
    【bzoj1082】 SCOI2005—栅栏
    【codevs1086】 栈
    【bzoj3240】 Noi2013—矩阵游戏
    【bzoj1951】 Sdoi2010—古代猪文
    中国剩余定理学习笔记
  • 原文地址:https://www.cnblogs.com/sarah-zhang/p/12221371.html
Copyright © 2011-2022 走看看