在函数中使用指针指向数组

using pointers to arrays in a function

本文关键字:数组 指针 函数      更新时间:2023-10-16

我已经声明了一个2_D数组

int array [NO_OF_ROWS][NO_OF_COL];

NO_OF_ROWSNO_OF_COL为常数。

我有指针*rowPtr*seatPtr。我将所有这些传递给一个函数,这样我就可以将二进制文件中的数据保存到数组以及如下所示的枚举状态

 void loadArray (int* &rowPtr, int* &seatPtr, status& seatStatus,
               status seatArray[][NO_OF_COL])

在函数中,我尝试用一行保存状态到数组;

 seatArray[rowPtr][seatPtr] = seatStatus; 

当我尝试编译时,我得到错误:

无效类型的状态(*)[6][int*] for数组下标

我看到数组不喜欢指针值,因为它被声明为int类型。我该如何设置以允许使用指针

指针声明不正确。试试这个:

void loadArray (int* rowPtr, int* seatPtr, status& seatStatus,
           status seatArray[][NO_OF_COL])

当你想使用指针的值时,取消对指针的引用:

seatArray[*rowPtr][*seatPtr] = seatStatus; 

取消指针引用。

seatArray[*rowPtr][*seatPtr] = seatStatus;