关于指针数组作为参数的问题...
我刚接触c++,知道结构体属于值类型,所以一个结构体类型变量作为参数是值传递;而数组作为参数是地址传递,因此当一个结构体数组作为参数时传递的是该数组的首地址。。但我对指针数组作为参数传递还是不太清楚。.
为了简化问题,代码有不周全之处,请大家谅解。
例如:
class Student
{
public:
Show();
...
};
int main()
{
Student *stu[100];//定义一个指针数组
for(int i=0;i<100;i++)
{
stu[i]=new Student(...);
}
ShowAllStu(stu,100);//将stu作为参数传递
}
int ShowAllStu(Student * stu[],int size)//不知道形参形式是否正确,不过编译没问题
{
for(int i=0;i<size;i++)
{
(*(stu[i])).Show();//不知这样调用对不对,当程序运行到这时会引起内存错误
}
}