在main函数内部和外部,对于一个数组名(arrayname)加上一个整数n,会有不同的输出结果。
示例代码:
#include <iostream>
int main() {
int arrayname[] = {1, 2, 3, 4, 5};
int n = 2;
int* ptr = arrayname + n; // 获取数组第n个元素的地址
int value = *ptr; // 解引用获取数组第n个元素的值
std::cout << "数组第" << n << "个元素的值为:" << value << std::endl;
return 0;
}
输出结果:
数组第2个元素的值为:3
在上面的示例中,'arrayname + n'得到的是数组第n个元素的地址,然后通过解引用操作符*获取该元素的值,最后输出数组的第n个元素的值。
示例代码:
#include <iostream>
void printArrayElement(int* ptr) {
int value = *ptr;
std::cout << "数组第" << value << "个元素的值为:" << *ptr << std::endl;
}
int main() {
int arrayname[] = {1, 2, 3, 4, 5};
int n = 2;
printArrayElement(arrayname + n); // 将数组第n个元素的指针传递给函数
return 0;
}
输出结果:
数组第3个元素的值为:3
在上面的示例中,'arrayname + n'得到的是指向数组第n个元素的指针,然后将该指针传递给printArrayElement函数,函数中再通过解引用操作符*获取该元素的值,最后输出数组的第n个元素的值。
综上所述,在main函数内部和外部,'arrayname + n'的含义有所不同,分别表示数组第n个元素的地址和指向数组第n个元素的指针。
领取专属 10元无门槛券
手把手带您无忧上云