【发布时间】:2012-11-23 05:44:12
【问题描述】:
想知道如何将指针分配给数组成员:
struct foo {
int INT;
}
int main() {
foo bar[10];
foo *baz;
baz = bar[5];
}
这不起作用,但我想知道会怎样。 非常感谢您的帮助。
【问题讨论】:
标签: c++ arrays pointers variable-assignment
想知道如何将指针分配给数组成员:
struct foo {
int INT;
}
int main() {
foo bar[10];
foo *baz;
baz = bar[5];
}
这不起作用,但我想知道会怎样。 非常感谢您的帮助。
【问题讨论】:
标签: c++ arrays pointers variable-assignment
你想做baz = &bar[5];。 bar[5] 指的是第 6 个 foo 对象实例本身,因此只需将地址(使用 & 运算符)分配给指针,与其他任何情况相同;
或者,您也可以使用baz = (bar + 5);,因为这里使用的bar 不带数字是指向第一个元素的指针,而+5 表示第6 个元素。
【讨论】:
& 是获取给定对象(指向)地址的运算符。
5 + bar 是一种奇怪的混淆技术!