Как создать Struct?

Struct — это структура данных, которая позволяет использовать инкапсуляцию, пусть и в ограниченном виде.

Struct необходимо создавать во внешнем файле, а не в самом Врангле. Создайте внешний файл так, как это описано в этом вопросе: http://hipnc.club/ufaqs/custom-functions/

Struct может содержать как поля, так и методы (если пользоваться терминологией ООП).

// Упрощенный пример использования структуры для создания двумерного массива
struct IntArray
{
	int _xSize;
	int _array[];

	void Create(int xSize, ySize)
	{
		_xSize=xSize;
		resize(_array, xSize*ySize);
	}

	int Value(int x, y)
	{
		return _array[y*_xSize + x];
	}

	void Set(int x, y, value)
	{
		_array[y*_xSize + x] = value;
	}
}

После этого во Врангле делаем #include с именем вашего файла. Обращаться к структуре можно следующим образом:

#include "arrays.h"

IntArray arr;
arr->Create(10,10);
arr->Set(3,5,1000);
printf("Array value: %d", arr->Value(3,5));
printf("Array X size: %d", arr._xSize);

К «полям» мы обращаемся через знак «точка», а к «методам» через «->».

Также у структур есть конструктор, проще говоря их можно инициализировать следующим образом:

MyStruct var = MyStruct(10, 20, "String");

То есть мы используем название структуры в качестве функции и перечисляем в аргументах значения для всех полей.

Обратите внимание, что в Вексе нельзя создать массив массивов, даже если вы закрыли свой массив в структуре. То есть если планируется сделать массив структур, то внутри структуры не может быть массивов. Как вариант обхода этого ограничения: создать в структуре функцию, которая возвращает массив, а сам массив уже хранить в теле этой функции, тогда ошибки не будет.