1
다음 매트릭스가 있습니다.C 매트릭스 초기화
Vertex axisVertices[] =
{
{ { x_0, y_0, 0.0f, 1.0f }, { 1.0f, 1.0f, 1.0f, 1.0f } }, // origin
{ { x_Max, y_0, 0.0f, 1.0f }, { 0.0f, 1.0f, 0.0f, 1.0f } }, // eixo y
{ { x_0, y_Max, 0.0f, 1.0f }, { 0.0f, 0.0f, 1.0f, 1.0f } } // eixo x
};
#define x_0 0.0f
#define y_0 0.0f
#define x_Max 1.5f
#define y_Max 1.7f
이렇게 매트릭스를 초기화 할 수 있어야합니다. C에서이 작업을 수행 할 수있는 유일한 방법은 enum을 정의하거나 #define을 사용하는 것입니다. 이처럼 초기화하는 것은 상수와 함께 사용할 수 없기 때문입니다.
문제는 코드 전체에서 x_Max
과 y_Max
값을 변경할 수 있어야하므로 #define
은이 경우 작동하지 않습니다. 이것을 어떻게 할 수 있습니까?
'# define'에 매개 변수를 전달할 때 오류가 있습니까? – FDinoff
예를 들어 x_0을 정의하면 그 값을 변경할 수 없습니다. 그렇지 않니? 대답 –
가 도움이 되었습니까? 아니면 아직도 혼란 스러울 것이 있습니까? 또한 런타임시 x_0을 변경해야합니까? – FDinoff