简介 以下三行代码有什么区别? int a[10]; int *a = (int*)malloc(sizeof(int)*10); int *a = new int[10]; 第一行代码定义a为包含10个int类型元素的整形数组. 第二行和第三行分别使用的是C和C++来定义动态数组,他们的结果是相同的.a都可以表示为一个动态数组. 我们可以使用a[1]来取数组a的第1个元素.那他们有什么区别呢? 解释 我们从指针开始说起.所谓指针,就是用来存放内存地址的一个变量,首先,指针是个变量:其次,指针存…
1.默认属性 VB6.0有默认属性的特性.当没有给对象指定具体的属性时,"默认属性"是VB6.0将使用的属性.在某些情形下,省略常用属性名,使代码更为精简. 因为CommandButton的默认属性是Value,所以下面两句代码是等价的: Sub Test() Debug.Print UserForm1.CommandButton1 '输出Falue Dim a a = UserForm1.CommandButton1 Debug.Print a '输出False End Sub 而从…
数组的动态分配 a) 可分配数组 数组可以是静态的也可以是动态的.如果数组是静态的,则在编译时就被分配了固定的储存空间,并且直到程序退出时才被释放.程序运行时静态数组的大小不能改变.静态数组的缺陷是,即使数组已经使用完毕,它仍占据着内存空间,浪费了系统资源.在给定的计算机内存资源情况下,耗费了其他数组可以利用的内存,并且超过资源的数组将导致程序执行错误.因此,F90增加了动态的数组功能,动态数组的储存在程序运行当中是可以分配.改变和释放的. 动态数组只有两种:可分配数组和自动数组.自动数组…