天天看點

C語言中結構體變量之間指派

       最近,我閱讀了某新員工小劉寫的C語言代碼,發現其對結構體變量之間的指派不是很熟悉。對于兩個相同類型的結構體變量,他均采用的是逐個成員變量直接指派的形式。如下的代碼示例:

       如上代碼所示,tEmployeeInfoSrc和tEmployeeInfoDest是兩個類型相同的結構體變量,tEmployeeInfoSrc(源結構體變量)中的各個成員變量已賦初值。現要使tEmployeeInfoDest(目的結構體變量)中的各個成員變量的值與tEmployeeInfoSrc中對應成員變量的值相同。小劉采用的方式是各個成員變量一一指派。這雖然可以確定指派操作的正确性,但并不是最優的方法。

        針對以上代碼,我們可以稍加修改,如下所示:

       如上代碼所示,我們可以直接将源結構體變量的值賦給目的結構體,将原來的三行代碼縮減為一行。當一個結構體的成員變量較多時,各個變量逐一指派顯然過于繁瑣,即采用直接指派的方法更加簡潔直覺。

       兩個相同類型的結構體變量互相指派的情況還有好多種,如下代碼所示:

       指針和結構體是C語言的精華和難點所在,大家一定要在實戰中學會它們的使用方法。

(本人微網誌:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,歡迎關注!)