Как я могу сделать указатель на член структуры, который представляет собой массив из int. Это как структура выглядит следующим образом:Указатель на массив структур
typedef struct {
volatile int x[COORD_MAX];
volatile int y[COORD_MAX];
volatile int z[COORD_MAX];
//... other variables
} coords;
coords abc;
abc
является глобальной переменной. Теперь я хотел бы получить указатели на массивы x, y и z и сохранить их в другом массиве. Затем присоединяется к ним через передачу желаемого индекса. Вот что я имею в виду:
void test(int index1, int index2)
{
static volatile const int* coords_ptr[3] = {abc.x, abc.y, abc.z};
coords_ptr[index1][index2] = 100;
}
Так index1
будет выбрать, какой тип координат, чтобы выбрать из (х, у, г). И index2
будет выбирать, какой индекс координат менять.
Обратите внимание, что это просто упрощение кода, над которым я работаю. Но принцип тот же.
Заранее благодарен!
EDIT:
Я написал неверный код. Извините за путаницу, это должно быть прямо сейчас.
Извините за сумбур, я имею в виду С. – user1806687
В 'test', чем' coords' объект функции, работающей на? 'coords' - это тип, а не объект. – nneonneo
@nneonneo Компилятор не был счастлив, потому что x, y и z нестабильны, поэтому мне нужно было добавить его туда. Это неправильно? – user1806687