В JavaScript мы можем сделать следующее:передавая конкретной структуру поля в качестве параметра функции
var obj = {alpha: [1, 2, 3], omega:[1, 2, 3]};
function test(field) {
return obj[field];
}
test("alpha");
Теперь им пытаются добиться того же в с использованием ЬурейиХ структур в C:
typedef struct FooBar{
char alpha[50];
char beta[50];
} FooBar;
FooBar fooBar;
int getTest(type field) {
return sizeof(fooBar.field);
}
getTest(alpha);
ли это возможно как-то просто передать имя поля, как показано выше?
Это похоже на решение, ищущее проблему ... зачем вам это нужно? Если вызывающий абонент уже знает, что вы ищете 'alpha', то вызывающий может также просто использовать' sizeof (foobar.alpha) 'вместо вызова абсолютно бессмысленной функции. – Lundin