使用单指针访问结构元素? [英] Accessing struct elements using single pointer?

查看:57
本文介绍了使用单指针访问结构元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have defined 5 floats within a struct: struct as {float a1, a2, a3, a4, a5;}; I'd like to access those 5 using a single pointer float* p_a = &a1;, and then just p_a++, etc. Will it work? Converting to array float a[5] requires a big change I would like to avoid.

推荐答案

我宁愿

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;
}

这篇关于使用单指针访问结构元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆