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

Pass the address of a specific array element to a function

本文关键字:址传 函数 地址 数组元素      更新时间:2023-10-16

我正在研究此palindrome功能,并且正在尝试修改它,以便我可以在数组中发送特定位置作为起点。这是代码:

#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,则将返回true(如4、8、2、8、4中的4)。但是,如果发送了另一个不是alindroome的地址和大小,则会返回false。

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

指针算术可用于计算数组元素的地址。将整数I添加到指针中将导致指向最初尖的对象的连续兄弟姐妹的指针。知道数组的名称将衰减到指向第一个元素的指针时,我们可以用express n + 3的数组n的索引3计算元素的地址。

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