数据结构定义结构体的问题如何解决?
1个回答
展开全部
typedef struct LNode
{
int num,pwd;
struct LNode *next;
};
这段代码是结构体的定义部分,该结构体被命名为LNode,它具有2个int类型的变量:num与pwd,还具有一个指针变量,指针变量next所指向的是另一个LNode结构体。
结构体作为一个自定义的数据类型,在创建成功后是仅返回所分配内存的首地址,也就是一个指针,因此你需要使用指针变量来使其持久化。
结构体在默认情况下使用时,需要在结构体名称前添加struct关键字,这样程序才能知道你是在创建一个结构体的实例,你可以把结构体理解为自定义数据类型,使用方法也类似。
比如
int i,j,k; //声明3个变量,变量类型为int
struct LNode *i,*j,*k //声明3个指针变量,分别指向3个结构体,结构体类型为LNode
如果采用你这种定义,在以后,每次想创建一个LNode结构体实例时,都需要加一个struct关键字,这很令人反感,所以通常会利用typedef做一些改进:
typedef A B 的作用是将A与B在编程时视为相同的代码
例如
typedef int CHINA;
那么
int i;
就等同于
CHINA i;
因此将你的代码更改为:
typedef struct LNode //你的代码中虽然也用到了typedef关键字,但是替代项为空
{ //所以你的代码中删掉typedef也没有任何影响
int num,pwd;
struct LNode *next;
}N;
那最后一行代码就可以简化为
N *head,*p,*pt;
{
int num,pwd;
struct LNode *next;
};
这段代码是结构体的定义部分,该结构体被命名为LNode,它具有2个int类型的变量:num与pwd,还具有一个指针变量,指针变量next所指向的是另一个LNode结构体。
结构体作为一个自定义的数据类型,在创建成功后是仅返回所分配内存的首地址,也就是一个指针,因此你需要使用指针变量来使其持久化。
结构体在默认情况下使用时,需要在结构体名称前添加struct关键字,这样程序才能知道你是在创建一个结构体的实例,你可以把结构体理解为自定义数据类型,使用方法也类似。
比如
int i,j,k; //声明3个变量,变量类型为int
struct LNode *i,*j,*k //声明3个指针变量,分别指向3个结构体,结构体类型为LNode
如果采用你这种定义,在以后,每次想创建一个LNode结构体实例时,都需要加一个struct关键字,这很令人反感,所以通常会利用typedef做一些改进:
typedef A B 的作用是将A与B在编程时视为相同的代码
例如
typedef int CHINA;
那么
int i;
就等同于
CHINA i;
因此将你的代码更改为:
typedef struct LNode //你的代码中虽然也用到了typedef关键字,但是替代项为空
{ //所以你的代码中删掉typedef也没有任何影响
int num,pwd;
struct LNode *next;
}N;
那最后一行代码就可以简化为
N *head,*p,*pt;
北京羿射旭科技有限公司
2019-11-29 广告
2019-11-29 广告
高阻尼隔震橡胶支座的价格大概在每个一两百元,便宜的有十几二十元,贵的有好几百元。高阻尼隔震橡胶支座的价格受多方面影响,如品牌、类别、规格、市场等。关键还是要学会挑选方法。变检算是否满足相应地震力作用下的使用要求。b..应根据跨度和温度变化幅...
点击进入详情页
本回答由北京羿射旭科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询