最近,我阅读了某新员工小刘写的C语言代码,发现其对结构体变量之间的赋值不是很熟悉。对于两个相同类型的结构体变量,他均采用的是逐个成员变量直接赋值的形式。如下的代码示例:
如上代码所示,tEmployeeInfoSrc和tEmployeeInfoDest是两个类型相同的结构体变量,tEmployeeInfoSrc(源结构体变量)中的各个成员变量已赋初值。现要使tEmployeeInfoDest(目的结构体变量)中的各个成员变量的值与tEmployeeInfoSrc中对应成员变量的值相同。小刘采用的方式是各个成员变量一一赋值。这虽然可以确保赋值操作的正确性,但并不是最优的方法。
针对以上代码,我们可以稍加修改,如下所示:
如上代码所示,我们可以直接将源结构体变量的值赋给目的结构体,将原来的三行代码缩减为一行。当一个结构体的成员变量较多时,各个变量逐一赋值显然过于繁琐,即采用直接赋值的方法更加简洁直观。
两个相同类型的结构体变量相互赋值的情况还有好多种,如下代码所示:
指针和结构体是C语言的精华和难点所在,大家一定要在实战中学会它们的使用方法。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)
时间: 2024-10-27 06:48:35