说白了就是挖了十个坑,这里坑 里只能放纯正整数,比如说我 int [] b= new int[3];就是3个坑 ,第一个坑我可以这样定义 b[0]=5;(数组是从0开始,不是从1开始)第二个b[1]=8;第三个b[2]=333;如果这时我需要一个5的数据我就可以直接用b[0]了,这个叫变量。不要采纳,不要采纳...
后者是使a指向一个int型对象,这个对象的值为10
new int(10) 得到一个int值
1、如果只是int a[10]和int* a=new int[10]比较的话,前者可能还更简单一点。只是在使用上int* a=new int[10]需要判断内存是否分配成功,以及在不用时需要使用delete[] a进行内存释放;2、如果不是a[10],而是a[1000000000]或者更大的话,那一般情况下,就只能使用int* a=new这种方式了。这...
int[] a=new int[10];语法错误;你可以这样理解 定义一个变量a 类型是int[](整型数组)数组是引用类型,所以new 一个int[10](把数组程度定义为10)如果那你那样,直接int a[]={0,0,0,0,0,0,0,0,0,0,};简单粗暴
int a [10]; 在堆上分配一个地址,此地址是个指针,没有对应的实际值 new int[10] 在堆上分配10个连续地址,存储值默认为0(因为是int)int [] a = new int[10]; a指针指向实际地址,可以进行操作了。
区别太大了!int (*a)[10];——声明a是个指向具有10个int型元素的一维数组的指针。int *a=new int[10];——等号左边是声明一个int *型指针a,等号右边是动态申请10个int型数据的连续空间;=号是将成功申请的空间的第一个元素的地址赋给int *型指针a。
a是一个指针,指向存放整形数值10的一个内存单元,即a是10的存放地址;而&a则表示存放指针本身的内存单元的首地址,与上面是不同的。
int(*int)[10]先找到声明符int型,被括号括着,先看括号内的(优先级高),然后向右看,没有,向左看,是*,说明是个指针,什么指针?在看括号外面的,先向右看,有[] 是个数组,说明a是个志向数组的指针,再向左看,是int,说明数组的每个元素是int。所以,这是一个指向存放int的数组的指针。i...
inta表示a这个变量是整型,只能存放整数。inta【10】【10】指的是代表a的二维数组,是指向一个有十个元素的数组的指针,或者说a是具有十个元素的数组的首元素的地址,这十个元素,每个元素都是一个数组。