Я бы знать, если т возможно в инициализацию-структуру на лету для вызова функции, как и в C++:C функция и структура на лету
struct point {
int x;
int y;
};
some_function(new point(x,y));
Thx :)
Я бы знать, если т возможно в инициализацию-структуру на лету для вызова функции, как и в C++:C функция и структура на лету
struct point {
int x;
int y;
};
some_function(new point(x,y));
Thx :)
Да. Вы можете использовать compound literals, представленный на C99.
some_function((struct pint) {5, 10});
Вы можете сделать это в C и вызвать вашу функцию как этот парень сказал, но вам необходимо добавить флаг -std = C99 к вашей Gcc строке вызова, иначе он может не удалось, если вы используете некоторые -W * флаги.
Я не спускал вниз, но думаю, вы должны указать, что продолжительность хранения структуры заканчивается концом закрывающего блока. И afaik не может сделать что-то подобное с динамической памятью. – mafso
@mafso Поскольку 'struct' передается по значению в любом случае (этот вопрос касается C, а не C++), аргумент о его времени жизни является немым. – cmaster
Обратите внимание, что круглые скобки вокруг аргумента функции являются излишними. 'some_function ((struct point) {5, 10});' работает так же хорошо. – cmaster