Проблема, с которой я сталкиваюсь, заключается в том, что я хочу создать единую структуру или контейнер , который будет содержать много переменных с использованием языка c. Ниже вы можете видеть, что я попытался сделать тип цвета и функцию, чтобы определить еще одно легко.Групповые переменные в структуру или контейнер в C
// Color Type For reuse
typedef struct Color
{
GLfloat R;
GLfloat G;
GLfloat B;
GLfloat A;
} Color;
// Color Setter to Make using the Color Type Easier
Color DefineColor (GLfloat R,GLfloat G,GLfloat B,GLfloat A)
{
Color NewColor; // Combine GLfloat parameters into a Color Type
NewColor.R = R;
NewColor.G = G;
NewColor.B = B;
NewColor.A = A;
return NewColor;
}
То, что я пытаюсь получить на это что-то вроде этого
typedef struct ColorPalette
{
Color Red = DefineColor(1,0,0,1);
Color Green = DefineColor(0,1,0,1);
Color Blue = DefineColor(0,0,1,1);
Color Violet = DefineColor(1,0,0.5,1);
// ... ect more colors and more colors
} ColorPalette;
Так что он может быть использован как таковой.
ColorPalette.Red;
или как этот
Object.attribute.color = ColorPalette.Violet;
Object.Color.ColorPalette.Red;
найти путь к группе переменных таким образом, может быть очень полезным в других частях программирования игры, матриц, сортировка данных и тому подобное.
1) потерять модификатор typedef. 2) каждая запись цвета во время первоначального объявления экземпляра структуры может быть установлена через: struct ColorPalette myColorPalette = {{1,0,0,1}, {0,1,0,1}, ...} ; – user3629249
Что вы думаете? Вы уже показали код, который, кажется, делает то, что вы пытаетесь сделать. –