int a[20];
int *x = a;
指针变量x指向数组a的地址,a[0]和*x都取代数组的第一个元素。
a[1]等价于*(x+1)
a[2]等价于*(x+2)
把一个数组声明传递给new语句,使它返回一个该数组基类型的指针。
eg.int *x = new int[10];
x[1]=45;
x[8]=8;
int count;
int *x=new int[count];
删除:delete []x;
练习:
1.效果:
2.代码;
#include <iostream>
#include <string>
int main(){
unsigned int count = 0;
std::cout<<"请输入数组的元素个数:\n";
std::cin>> count;
int *x =new int [count]; //运行时申请,在堆里申请
for( int i = 0;i< count ; i++ ){
x[i] = i;
}
for( int i=0 ;i<count ; i++){
std::cout << "x["<< i << "] = " << x[i] <<"\n";
}
delete []x;
x=NULL;
return 0;
}