您好,登錄后才能下訂單哦!
這篇文章給大家介紹C++中如何使用結構體,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
結構體(struct)是由一系列具有相同類型或不同類型的數據構成的數據集合,也叫結構。建議大家可以和這篇文章結合著來看,C++的中的結構體和枚舉
什么是結構體?
簡單的來說,結構體就是一個可以包含不同數據類型的一個結構,它是一種可以自己定義的數據類型,它的特點和數組主要有兩點不同,首先結構體可以在一個結構中聲明不同的數據類型,第二相同結構的結構體變量是可以相互賦值的,而數組是做不到的,因為數組是單一數據類型的數據集合,它本身不是數據類型(而結構體是),數組名稱是常量指針,所以不可以做為左值進行運算,所以數組之間就不能通過數組名稱相互復制了,即使數據類型和數組大小完全相同。
定義結構體使用struct修飾符,例如:
C++ 代碼:
struct test { float a; int b; };
上面的代碼就定義了一個名為test的結構體,它的數據類型就是test,它包含兩個成員a和b,成員a的數據類型為浮點型,成員b的數據類型為整型。
由于結構體本身就是自定義的數據類型,定義結構體變量的方法和定義普通變量的方法一樣。
test pn1;
這樣就定義了一test結構體數據類型的結構體變量pn1,結構體成員的訪問通過點操作符進行,pn1.a=10 就對結構體變量pn1的成員a進行了賦值操作,
注意:結構體生命的時候本身不占用任何內存空間,只有當你用你定義的結構體類型定義結構體變量的時候計算機才會分配內存。
結構體,同樣是可以定義指針的,那么結構體指針就叫做結構指針。
結構指針通過->符號來訪問成員,下面我們就以上所說的看一個完整的例子:
C++ 代碼:
//所有稿件均有版權,如要轉載,請務必注明出處和作者 #include<iostream> #include<string> usingnamespacestd; structtest//定義一個名為test的結構體 { inta;//定義結構體成員a intb;//定義結構體成員b }; voidmain() { testpn1;//定義結構體變量pn1 testpn2;//定義結構體變量pn2 pn2.a=10;//通過成員操作符.給結構體變量pn2中的成員a賦值 pn2.b=3;//通過成員操作符.給結構體變量pn2中的成員b賦值 pn1=pn2;//把pn2中所有的成員值復制給具有相同結構的結構體變量pn1 cout<<pn1.a<<"|"<<pn1.b<<endl; cout<<pn2.a<<"|"<<pn2.b<<endl; test*point;//定義結構指針 point=&pn2;//指針指向結構體變量pn2的內存地址 cout<<pn2.a<<"|"<<pn2.b<<endl; point->a=99;//通過結構指針修改結構體變量pn2成員a的值 cout<<pn2.a<<"|"<<pn2.b<<endl; cout<<point->a<<"|"<<point->b<<endl; cin.get(); }
關于C++中如何使用結構體就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。