У меня есть структура Register
и структура ModbusReadStruct
. Register
объявляется, как показано ниже:Массив структур внутри структуры?
typedef struct {
int TypeID;
char InstrumentType[32];
char RegTag[32];
char Protocol[32];
int RegNum;
char RW[32];
char RegisterType[32];
char Signed[32];
char Inverted[32];
char DataType[32];
int Counts;
} Register;
Я хотел бы объявить структуру ModbusReadStruct
, как показано ниже:
typedef struct {
int Address;
int Port;
int BaudRate;
int DataBits;
int StopBits;
int RegID;
int Sampling;
char InstanceName[32];
int InstNum;
int MBNum;
int PortNum;
int RegNum;
Register Register[64];
} ModbusReadStruct;
Однако это Конкретная реализация приводит к ошибкам (Сегментация ошибка). Какой был бы лучший способ достичь функциональности, аналогичной моей идее выше?
Возможно, что ошибка сегментации находится в коде, который его использует. Я не думаю, что есть какие-либо проблемы с созданными вами структурами. – byxor
Нет проблем с наличием структур (или массивов структур) внутри структур. Ошибка в другом месте. – Nelfeal
Структуры выглядят прекрасно, авария, вероятно, из-за чего-то еще. Пожалуйста, используйте отладчик, чтобы поймать крах в действии, чтобы вы могли найти, где это происходит в вашем коде. –