使用单指针访问结构元素? [英] Accessing struct elements using single pointer?
本文介绍了使用单指针访问结构元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在一个结构体中定义了 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屋!
查看全文