全站数据
8 4 2 0 5 8 1

怎样在lua中定义c的结构体

森可行知儿童工程师 | 简单学习,快乐成才!         
问题更新日期:2024-11-03 17:06:07

问题描述

怎样在lua中定义c的结构体希望能解答下
精选答案
最佳答案

LUA只有表。可以当容器,可以当结构体。

举个例子---------------------------------------lua-------------------------------------------------定义全局表TableStruct,内容在使用的时候给结构体赋值。

local struct = {}--给你的结构体赋值,“.” 的后面的 “Sex” ,“Age","Name"就类似于C/C++中的结构体成员。

function GetValue()--给结构体赋值TableStruct.Sex = "man"TableStruct.Age = 22 TableStruct.Name = "LiMing"endfunction GetStrucValue()--取表(结构体)中的值local Sex = TableStruct.Sexlocal Age = TableStruct.Agelocal Name = TableStruct.Nameend---------------------------------------------------------------------------------------------再举个C的例子吧,内容内容同上//定义结构体struct Struct{char Sex;int Age;char Name;

}//给结构体赋值void GetValue(){Stuct.Sex = "man"Stuct.Age = 22Stuct.Name = "LiMing"

}void GetStrucValue(){ //取表(结构体)中的值char Sex = Stuct.Sexint Age =Stuct.Agechar Name = Stuct.Name}总结,lua中只有表,要在lua中定义结构体,需要先定义lua表,此例子是在表结构在赋值的时候确定。而c中的结构体是先把结构体的结构定义好,才使用。 除了上述例子,方法还有很多。这就是lua的最经典之处,不知道楼主对lua有没有新的认识。以上纯手打。