구조체를 먼저 선언하지 않고 함수에 전달하는 것에 대한 질문이 있습니다.구조체를 이와 같은 함수에 전달
static void DrawArc(struct MATH_POINT *p, other args);
내가이
struct MATH_POINT point = {0,0};
DrawArc(&point, other args);
같은 구조를 전달할 수 있습니다 알고 있지만 나 또한 이런 식으로 작업을 수행 할 수 있습니다 :
는이 같은 구조체 포인터를받는 함수를
DrawArc(&(struct MATH_POINT){0,0}, other args);
매우 한정된 레지스터 공간이있는 임베디드 플랫폼과 GUI 재미 때문에이 방법을 사용하고 있습니다. ctions에는 많은 인수가 필요합니다.
그러나 걱정하지 마라. 인자 목록에서 초기화 한 구조가 계속되어 RAM을 사용하게 될 것이다. 이것이 가능한가? 아니면 구조체는 함수가 끝나자 마자 파괴 될 것인가?
감사합니다!
이 질문은 귀하가 사용하는 특정 컴파일러 및 프로세서를 알지 못해서 풀릴 수 없습니다. 또한 최적화 기능을 사용하여 빌드할지 여부를 결정합니다. –
arm-none-eabi를 사용하고 있는데 -O2를 사용하고 있습니다. STM32F767-144 핀을 사용하고 있습니다. –