//malloc(大小)int* arr =malloc(3);//在堆内存申请一块空间//realloc(需重新分配内存的变量, 大小);arr =realloc(arr,3);//不改变原有内容的基础上,重新分配空间 1.看个小案例就大概知道这两个函数的意思了 #include<stdio.h>#include<stdlib.h>/** 动态创建数组 */ main() { printf("请输入数组...
动态分配内存是在堆上,直接创建数组是在栈中,虽然都是在内存,但性能还是有点区别的 栈是机器系统提供的数据结构,计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,这就决定了栈的效率比较高。堆则是C/C++函数库提供的,它的机制是很复杂的,例如为了分配一...
有关内存分配和释放的说法,下面错误的是()。A.new运算符的结果只能赋给指针变量B.动态创建的数组必须调用delete []动态撤销C.用new分配的动态数组没有数组名
arr = realloc(arr,3);//不改变原有内容的基础上,重新分配空间 1. 2. 3. 4. 1.看个小案例就大概知道这两个函数的意思了 #include<stdio.h> #include<stdlib.h> /** 动态创建数组 */ main() { printf("请输入数组的长度:\n"); int length; scanf("%d",&length); printf("输入数组的长度为:...