1、數組指針的形式
int (*pArray)[10];
數組指針區別於指針數組,有關指針數組的知識以及應用請看: C++指針和數組:指針數組
int (*pArray)[10];//中存放的元素爲int型,pArray爲指向數組的指針
2、數組指針的具體應用
數組指針的應用主要有兩方面:
1)、指向二維數組,在函數中作爲形參,具體的應用請看:二級指針和二維數組
2)、配合函數指針一起使用,有關函數指針的知識後面會詳細講解,這裏先看一個例子,讓我們更加深入的認識數組指針和指針:
一個模擬計算器的加減乘除操作,首先用switch 來控制流程:
double Add(const double lp,const double rp)
{
return lp+rp;
}
double Sub(const double lp,const double rp)
{
return lp-rp;
}
double Mul(const double lp,const double rp)
{
return lp*rp;
}
double Div(const double lp,const double rp)
{
//如果右操作數爲0,直接退出
if(0.0==rp)
exit(0);
else
return lp/rp;}
用switch 來控制流程:
switch(OP)
{
case ADD:
result = Add(op1,op2);
cout<<"The Result is:"<<result<<endl;
break;
case SUB:
result = Sub(op1,op2);
cout<<"The Result is:"<<result<<endl;
break;
case MUL:
result = Mul(op1,op2);
cout<<"The Result is:"<<result<<endl;
break;
case DIV:
result = Div(op1,op2);
cout<<"The Result is:"<<result<<endl;
break;
}
//定義一個函數指針
double (*pFunc[])(double,double) ={Add,Sub,Mul,Div};
//使用函數指針來調用相關的函數
result = pFunc[OP](op1,op2);
cout<<"The Result is:"<<result<<endl;
程序運行的結果如下所示: