首页 > 解决方案 > 使用单指针访问结构元素?

问题描述

我在一个结构中定义了 5 个浮点数:struct as {float a1, a2, a3, a4, a5;};我想使用单个指针访问这 5个浮点数float* p_a = &a1;,然后使用p_a++等等。它会工作吗?转换为数组float a[5]需要我想避免的大改变。

标签: cpointersmemorystruct

解决方案


我宁愿

typedef struct
{
    union
    {
        float fa[5];
        struct { float f1,f2,f3,f4,f5; };
    };
    /* .... */
}MY_T;


void foo()
{
    MY_T s;

    float *p = s.fa;

    p++
    *p = something;
}

推荐阅读