将特定数组元素的地址传递给函数
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
因此,该函数无需修改,因为您已经可以将任何元素的地址传递给它。
我正在研究这个回文函数,我正在尝试修改它,以便我可以发送数组中的特定位置作为起点。 这是代码:
#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
.
n
因此,该函数无需修改,因为您已经可以将任何元素的地址传递给它。