C语言内存分配函数对比
#include <stdio.h> #include <stdlib.h> //malloc realloc ca void test01() { //只会开辟内存 int * p = (int *)malloc(sizeof(int) * 10); for (int i = 0; i < 10; ++i) { p[i] = i; } printf("&P:%d\n", p); //后续空间不够大就会开辟新的内存 p = (int *)realloc(p, sizeof(int) * 1000); for (int i = 0; i < 10; ++i) { p[i] = i; } printf("&P:%d\n", p); if (p != NULL) { free(p); p = NULL; } } void test02() { //会初始化为0 int * p = (int *)calloc(10, sizeof(int)); for (int i = 0; i < 10; ++i) { printf("%d\n", p[i]); } } void main() { //test01(); test02(); system("pause"); }
为什么要奋斗?因为我有梦想!为了诗和远方!