int*array [60]和int*array = new int(60)之间的区别;

Vil*_*ami 2 c++ arrays pointers

int * array[60]; //creates an array of 60 pointers to an int
int * array = new int(60); //same thing?
Run Code Online (Sandbox Code Playgroud)

这些都会产生相同类型的数组吗?例如指向整数的指针数组

我知道第一个未初始化,第二个初始化,但我不确定第二个创建的是什么.

son*_*yao 11

int * array = new int(60); //same thing?
Run Code Online (Sandbox Code Playgroud)

不,他们不是一回事.array这只是一个指针,然后指向一个初始值为int的int 60.

如果你的意思是int * array = new int[60];,array将指向60个整数的数组,它们仍然不是一回事.

请注意,就像声明一样,int* array意味着它是一个指针,而这int* array[60]意味着它是一个数组(60个指针).(阵列可能会蜕变为指针,即int**int* array[60],这不是一样的int*.)