Здесь довольно простой вопрос, я немного не уверен в том, что такое память в C.
Если у меня есть следующее
CGPoint* tileForCoordinates (CGPoint position, short width, short height)
{
CGPoint *tileCoordinate = (CGPoint*)malloc(sizeof(CGPoint));
tileCoordinate->xTile = (position.xPosition / width);
tileCoordinate->yTile = (position.yPosition / height);
return tileCoordinate;
}
и я хотел бы вызвать это в другом исходном файле или где-то еще, объявил бы я указатель и выше и вернул бы его? Если это так, когда я звоню из другого класса, например
CGPoint *currentTilePosition = tileForCoordinates(curPosition, 50, 50);
Что происходит с указателем, возвращаемым malloc? Должен ли он быть освобожден или какова история? :)