结构体变量赋值方法、系统、设备及存储介质技术方案

技术编号:37210565 阅读:21 留言:0更新日期:2023-04-20 23:01
本申请提供了一种结构体变量赋值方法、系统、设备及存储介质,通过使用声明的变量类型,定义结构体变量;遍历所有同类型的结构体变量,对同类型的结构体变量进行初始化赋值。本申请大大减少了初始化代码占用空间,并提高了代码的维护效率。代码的维护效率。代码的维护效率。

【技术实现步骤摘要】
结构体变量赋值方法、系统、设备及存储介质


[0001]本申请属于计算机软件
,具体地,涉及一种结构体变量赋值方法、系统、设备及存储介质。

技术介绍

[0002]随着互联网的不断推广,需要适应市场各种需求开发各种计算机软件。在计算机软件开发中,对各种变量赋初值是比较普遍的代码开发工作。其中,如果是比如整数型、字符型以及浮点数等基本类型的变量,在函数内部使用的少量局部变量时,通常是在定义该变量时给新增变量赋一个默认的初值即可;对于函数体之外的基本全局变量来说也是如此,即在定义该变量时,顺便给其赋默认初值即可。
[0003]但在开发项目实现过程中,不仅有基本变量的使用,也有复杂的结构体变量、类变量等的使用,同时大量使用同类型复杂变量的场景很常见,对于这种场景一般是先定义变量,然后采用一些赋值方法对变量进行初始化。比如,采用常规的穷举式的初始化方法,这是最常使用和想到的方法。
[0004]但是,目前常见的赋值方法产生的代码量会随变量数量的增加而成倍增加,进而产生大量重复的垃圾代码,大大降低了代码的可读性和可维护性。

技术实现思路

[0005]本专利技术提出的结构体变量赋值方法、系统、设备及存储介质,大大减少了初始化代码占用空间,并提高了代码的维护效率。
[0006]根据本申请实施例的第一个方面,提供了一种结构体变量赋值方法,包括以下步骤:
[0007]使用声明的变量类型,定义结构体变量;
[0008]遍历所有同类型的结构体变量,对同类型的结构体变量进行初始化赋值。
[0009]在本申请一些实施方式中,通过循环遍历所有同类型结构体变量,对同类型的结构体变量进行初始化赋值,具体包括:
[0010]遍历所有同类型的结构体变量;
[0011]通过const初始化数据,对所有同类型的结构体变量进行初始化。
[0012]在本申请一些实施方式中,遍历所有同类型的结构体变量,对同类型的结构体变量进行初始化赋值之前,还包括:
[0013]生成所有同类型的结构体变量对应的const初始化数据。
[0014]在本申请一些实施方式中,遍历所有同类型的结构体变量,具体通过for循环方式遍历所有同类型的结构体变量。
[0015]在本申请一些实施方式中,通过const初始化数据,对所有同类型的结构体变量进行初始化,具体包括:
[0016]确定const初始化数据的表达式赋值;
[0017]将表达式赋值给对应类型的所有结构体变量。
[0018]在本申请一些实施方式中,const初始化数据以及结构体变量均包括下标数值。
[0019]在本申请一些实施方式中,使用声明的变量类型,定义结构体变量之前,还包括:
[0020]声明所有结构体变量的变量类型。
[0021]根据本申请实施例的第二个方面,提供了一种结构体变量赋值系统,具体包括:
[0022]定义模块:用于使用声明的变量类型,定义结构体变量;
[0023]赋值模块:用于遍历所有同类型的结构体变量,对同类型的结构体变量进行初始化赋值。
[0024]根据本申请实施例的第三个方面,提供了一种结构体变量赋值设备,包括:
[0025]存储器:用于存储可执行指令;以及
[0026]处理器:用于与存储器连接以执行可执行指令从而完成结构体变量赋值方法。
[0027]根据本申请实施例的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现结构体变量赋值方法。
[0028]采用本申请的结构体变量赋值方法、系统、设备及存储介质,通过使用声明的变量类型,定义结构体变量;遍历所有同类型的结构体变量,对同类型的结构体变量进行初始化赋值。本申请大大减少了初始化代码占用空间,并提高了代码的维护效率。
附图说明
[0029]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0030]图1中示出了现有技术中结构体变量赋值方法的步骤示意图;
[0031]图2中示出了根据本申请实施例的结构体变量赋值方法的步骤示意图;
[0032]图3中示出了根据本申请实施例中对同类型的结构体变量进行初始化赋值的步骤示意图;
[0033]图4中示出了根据本申请实施例的结构体变量赋值方法的流程示意图;
[0034]图5中示出了根据本申请实施例的同类型结构体变量的示意图;
[0035]图6中示出了根据本申请实施例中以表达式方式初始化结构体变量成员的示意图;
[0036]图7中示出了根据本申请实施例的结构体变量赋值系统的结构示意图;
[0037]图8中示出了根据本申请实施例的结构体变量赋值设备的结构示意图。
具体实施方式
[0038]在实现本申请的过程中,专利技术人发现开发项目实现过程中,不仅有基本变量的使用,也有复杂的结构体变量、类变量等的使用,同时大量使用同类型复杂变量的场景很常见,对于这种场景一般是先定义变量,然后采用一些赋值方法对变量进行初始化。比如,采用常规的穷举式的初始化方法,这是最常使用和想到的方法。
[0039]图1中示出了现有技术中结构体变量赋值方法的步骤示意图。
[0040]对于C/C++编程语言来说,一般情况下,结构体变量在定义之前,先要有该结构体变量类型声明,然后才能使用它定义具体变量,然后再对定义后的变量进行初始化,如图1
所示,现有技术中结构体变量赋值方法的具体步骤如下:首先,声明结构体变量类型;然后使用声明的变量类型,定义一个(或多个)结构体变量;然后给已定义的结构体变量赋初值。
[0041]对多个同类型结构体变量的常规初始化流程中,如图一第三个步骤所描述的,依次对变量1赋初值、对变量2赋初值

一直到对变量n赋初值,需要依次对每个结构体变量进行初始化赋值。这样产生的代码量便会随变量数量的增加而成倍增加,进而产生大量重复的垃圾代码,大大降低了代码的可读性和可维护性。
[0042]因此,如何合理、巧妙的给多个同类型结构体变量赋初值,是个考验程序员技术、经验的问题,如果处理不当,将给项目的编译、运行、稳定性、代码占用空间、性能、后期维护等带来各种问题。
[0043]基于此,采用本申请的结构体变量赋值方法、系统、设备及存储介质,通过使用声明的变量类型,定义结构体变量;遍历所有同类型的结构体变量,对同类型的结构体变量进行初始化赋值。本申请大大减少了初始化代码占用空间,并提高了代码的维护效率。
[0044]采用本申请赋值方法采用的初始化方法包含的代码量更少,当结构体变量的数量越大时,采用本申请赋值方法占用的初始化代码空间相比现有方法的初始化代码占用空间的差别也越大。采用本专利技术的初始化方法实现结构体变量赋值,更容易查找、定位初始化错误,而且,代码实现也更容易维护,即项目后本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种结构体变量赋值方法,其特征在于,具体包括以下步骤:使用声明的变量类型,定义结构体变量;遍历所有同类型的结构体变量,对同类型的结构体变量进行初始化赋值。2.根据权利要求1所述的结构体变量赋值方法,其特征在于,所述遍历所有同类型结构体变量,对同类型的结构体变量进行初始化赋值,具体包括:循环遍历所有同类型的结构体变量;通过const初始化数据,对所有同类型的结构体变量进行初始化赋值。3.根据权利要求1或2所述的结构体变量赋值方法,其特征在于,所述遍历所有同类型的结构体变量,对同类型的结构体变量进行初始化赋值之前,还包括:生成所述所有同类型的结构体变量对应的const初始化数据。4.根据权利要求2所述的结构体变量赋值方法,其特征在于,所述循环遍历所有同类型的结构体变量,具体通过for循环方式遍历所有同类型的结构体变量。5.根据权利要求2所述的结构体变量赋值方法,其特征在于,所述通过const初始化数据,对所有同类型的结构体变量进行初始化赋值,具体包括:确定const初始化数据的...

【专利技术属性】
技术研发人员:康九生覃庆海
申请(专利权)人:篆芯半导体南京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1