国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C++中結構體的的慨念和使用方法

2019-11-17 05:20:30
字體:
來源:轉載
供稿:網友

  什么是結構體?

  簡單的來說,結構體就是一個可以包含不同數據類型的一個結構,它是一種可以自己定義的數據類型,它的特點和數組主要有兩點不同,首先結構體可以在一個結構中聲明不同的數據類型,第二相同結構的結構體變量是可以相互賦值的,而數組是做不到的,因為數組是單一數據類型的數據集合,它本身不是數據類型(而結構體是),數組名稱是常量指針,所以不可以做為左值進行運算,所以數組之間就不能通過數組名稱相互復制了,即使數據類型和數組大小完全相同。

  定義結構體使用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();
}

  總之,結構體可以描述數組不能夠清楚描述的結構,它具有數組所不具備的一些功能特性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵璧县| 丹东市| 东乡族自治县| 丰顺县| 耿马| 石门县| 攀枝花市| 汝州市| 彭山县| 漳浦县| 高邑县| 泽州县| 连南| 张掖市| 会泽县| 四子王旗| 武夷山市| 娄烦县| 绥阳县| 若尔盖县| 泗水县| 松桃| 元朗区| 南开区| 惠州市| 隆子县| 巴彦淖尔市| 金昌市| 涿州市| 密山市| 张掖市| 广东省| 汉川市| 赤峰市| 西乌| 新野县| 紫阳县| 金寨县| 沂水县| 峨眉山市| 苍梧县|