将特定数组元素的地址传递给函数

Pass the address of a specific array element to a function

我正在研究这个回文函数,我正在尝试修改它,以便我可以发送数组中的特定位置作为起点。 这是代码:

#include<iostream>
using namespace std;
bool pali(int [],int size);
int main()
{

   int n[] = {3, 5, 9, 4, 8, 2, 8, 4, 7, 10}; //just a sample array for testing
   int length = 10;
   pali(n,length);
}

bool pali(int a[],int size)
{
  int flag=0;
    int i=0;
    while(flag==0 && i<size){
        if(a[i]==a[size-i-1]){
            flag=0;
            i++;
        }

        else{
            flag=1;
        }
    }
    if(flag==0)
        return true;
    else
        return false;
}

如何更改此代码以获取特定元素地址。因此,如果我将数组地址的位置发送给它 3,大小为 5,它将 return 为真(如 4、8、2、8、4)。但是,如果它被发送到另一个不是回文的地址和大小,它 returns false.

指针可以指向数组的任何元素(假设指针的类型兼容)。就像它可以指向数组的第一个元素一样,它也可以指向另一个元素。

指针运算可用于计算数组元素的地址。将整数 i 添加到指针将导致指针指向最初指向的对象的第 i 个连续兄弟。知道数组的名称会衰减到指向第一个元素的指针,我们可以使用表达式 n + 3.

计算数组索引 3 处元素的地址 n

因此,该函数无需修改,因为您已经可以将任何元素的地址传递给它。