【问题标题】:c++ how to point to a member of an arrayc ++如何指向数组的成员
【发布时间】: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


    【解决方案1】:

    你想做baz = &bar[5];bar[5] 指的是第 6 个 foo 对象实例本身,因此只需将地址(使用 & 运算符)分配给指针,与其他任何情况相同;

    或者,您也可以使用baz = (bar + 5);,因为这里使用的bar 不带数字是指向第一个元素的指针,而+5 表示第6 个元素。

    【讨论】:

    • 明确一点:一元 & 是获取给定对象(指向)地址的运算符。
    • 5 + bar 是一种奇怪的混淆技术!
    猜你喜欢
    • 1970-01-01
    • 2013-05-02
    • 2010-12-07
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多