Будет ли этот трюк работать в C?

Я хочу добавить поле к структуре в C. Так, например, у меня есть следующая структура.

struct A
{
 some_type x;
 some_type y;
}

Я объявляю новую структуру, как это.

struct B
{
 A a;
 some_type z;
}

Теперь скажите, что у меня есть такая функция.

int some_function( A * a )

Можно ли передать ему переменную типа B, как это в программе.

B * b;
......
A * a = (A*)b;
some_function( a );

А также сможете использовать поля внутриsome_function используяa->x например?

Ответы на вопрос(5)

Ваш ответ на вопрос