Допустим, у меня есть эта структура
в ANSI C:
typedef struct _point
{
float x;
float y;
} Point;
и эта функция для создания этой структуры
:
Point createpoint(float x, float y)
{
Point p;
p.x = x;
p.y = y;
return p;
}
Это позволяет мне создать struct
с этой функцией, например:
int main()
{
Point pointOne = createpoint(5, 6);
Point pointTwo = createpoint(10, 4);
float distance = calculatedistancefunc(pointOne, pointTwo);
/* ...other stuff */
return 0;
}
Кто-то сказал мне, что этот код недействителен, потому что struct
не получает malloc
'd в createpoint (float x, float y)
до того, как она будет возвращена, и что структура
будет удалена.
Однако, когда я использую свою struct
вот так, кажется, что она не удаляется.
Итак, мой вопрос:
мне нужно malloc
эту структуру
, и почему? / почему бы и нет?