动态静态定义数组,和初始化
new(), delete()
#include "stdio.h"
int main()
{
printf("Hello main \n");
int len = 3;
/*************************************************/
int array11[len]; //static
int num1 = sizeof(array11)/sizeof(int);
printf("the number of elements in array11 = %d\n", num1);
int array12[len] = {1, 2}; //static and initialization
/*************************************************/
int* array13 = new int[len]; //dynamic
delete array13;
int* array14 = new int[len]{3,4}; //dynamic and initialization
printf("values of array14: %d %d %d\n", *(array14+0), *(array14+1), *(array14+2));
printf("values of array14: %d %d %d\n", array14[0], array14[1], array14[2]);
printf("address of array14 before delete: %p\n", array14);
delete array14;
printf("address of array14 after delete: %p\n", array14);
array14 = NULL;
printf("address of array14 after (array14 = NULL): %p\n", array14);
printf("Goodbye main \n");
}
运行结果:
Hello main
the number of elements in array11 = 3
values of array14: 3 4 0
values of array14: 3 4 0
address of array14 before delete: 00000000006D75C0
address of array14 after delete: 00000000006D75C0
address of array14 after (array14 = NULL): 0000000000000000
Goodbye main