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
标签:int,dynamically,free,allocation,memory,sizeof,size 来源: https://www.cnblogs.com/sarah-zhang/p/12221371.html