成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++中結(jié)構(gòu)體的的慨念和使用方法

開發(fā) 后端
本文介紹的是C++程序語(yǔ)言設(shè)計(jì)中的結(jié)構(gòu)體的概念和使用方法,希望對(duì)大家有幫助,一起來(lái)看。

結(jié)構(gòu)體(struct)是由一系列具有相同類型或不同類型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合,也叫結(jié)構(gòu)。建議大家可以和這篇文章結(jié)合著來(lái)看,C++的中的結(jié)構(gòu)體和枚舉

什么是結(jié)構(gòu)體?

簡(jiǎn)單的來(lái)說(shuō),結(jié)構(gòu)體就是一個(gè)可以包含不同數(shù)據(jù)類型的一個(gè)結(jié)構(gòu),它是一種可以自己定義的數(shù)據(jù)類型,它的特點(diǎn)和數(shù)組主要有兩點(diǎn)不同,首先結(jié)構(gòu)體可以在一個(gè)結(jié)構(gòu)中聲明不同的數(shù)據(jù)類型,第二相同結(jié)構(gòu)的結(jié)構(gòu)體變量是可以相互賦值的,而數(shù)組是做不到的,因?yàn)閿?shù)組是單一數(shù)據(jù)類型的數(shù)據(jù)集合,它本身不是數(shù)據(jù)類型(而結(jié)構(gòu)體是),數(shù)組名稱是常量指針,所以不可以做為左值進(jìn)行運(yùn)算,所以數(shù)組之間就不能通過數(shù)組名稱相互復(fù)制了,即使數(shù)據(jù)類型和數(shù)組大小完全相同。

定義結(jié)構(gòu)體使用struct修飾符,例如:

C++ 代碼:

  1. struct test   
  2. {   
  3.  float a;   
  4.  int b;   
  5. };  

上面的代碼就定義了一個(gè)名為test的結(jié)構(gòu)體,它的數(shù)據(jù)類型就是test,它包含兩個(gè)成員a和b,成員a的數(shù)據(jù)類型為浮點(diǎn)型,成員b的數(shù)據(jù)類型為整型。

由于結(jié)構(gòu)體本身就是自定義的數(shù)據(jù)類型,定義結(jié)構(gòu)體變量的方法和定義普通變量的方法一樣。

 

  1. test pn1; 

 

這樣就定義了一test結(jié)構(gòu)體數(shù)據(jù)類型的結(jié)構(gòu)體變量pn1,結(jié)構(gòu)體成員的訪問通過點(diǎn)操作符進(jìn)行,pn1.a=10 就對(duì)結(jié)構(gòu)體變量pn1的成員a進(jìn)行了賦值操作,

注意:結(jié)構(gòu)體生命的時(shí)候本身不占用任何內(nèi)存空間,只有當(dāng)你用你定義的結(jié)構(gòu)體類型定義結(jié)構(gòu)體變量的時(shí)候計(jì)算機(jī)才會(huì)分配內(nèi)存。

結(jié)構(gòu)體,同樣是可以定義指針的,那么結(jié)構(gòu)體指針就叫做結(jié)構(gòu)指針。

結(jié)構(gòu)指針通過->符號(hào)來(lái)訪問成員,下面我們就以上所說(shuō)的看一個(gè)完整的例子:

C++ 代碼:

  1. //程序作者:管寧   
  2. //所有稿件均有版權(quán),如要轉(zhuǎn)載,請(qǐng)務(wù)必注明出處和作者  
  3. #include<iostream>   
  4. #include<string>   
  5. usingnamespacestd;  
  6. structtest//定義一個(gè)名為test的結(jié)構(gòu)體   
  7. {   
  8.  inta;//定義結(jié)構(gòu)體成員a   
  9.  intb;//定義結(jié)構(gòu)體成員b   
  10. };  
  11.  
  12. voidmain()   
  13. {   
  14.  testpn1;//定義結(jié)構(gòu)體變量pn1   
  15.  testpn2;//定義結(jié)構(gòu)體變量pn2  
  16.  
  17.  pn2.a=10;//通過成員操作符.給結(jié)構(gòu)體變量pn2中的成員a賦值   
  18.  pn2.b=3;//通過成員操作符.給結(jié)構(gòu)體變量pn2中的成員b賦值  
  19.  
  20.  pn1=pn2;//把pn2中所有的成員值復(fù)制給具有相同結(jié)構(gòu)的結(jié)構(gòu)體變量pn1   
  21.  cout<<pn1.a<<"|"<<pn1.b<<endl;   
  22.  cout<<pn2.a<<"|"<<pn2.b<<endl;  
  23.  
  24.  test*point;//定義結(jié)構(gòu)指針  
  25.  
  26.  point=&pn2;//指針指向結(jié)構(gòu)體變量pn2的內(nèi)存地址   
  27.  cout<<pn2.a<<"|"<<pn2.b<<endl;   
  28.  point->a=99;//通過結(jié)構(gòu)指針修改結(jié)構(gòu)體變量pn2成員a的值   
  29.  cout<<pn2.a<<"|"<<pn2.b<<endl;   
  30.  cout<<point->a<<"|"<<point->b<<endl;   
  31.  cin.get();   
  32. }  

總之,結(jié)構(gòu)體可以描述數(shù)組不能夠清晰描述的結(jié)構(gòu),它具有數(shù)組所不具備的一些功能特性。

責(zé)任編輯:于鐵 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-04-11 13:00:08

C++結(jié)構(gòu)體枚舉

2010-07-06 16:38:47

UML用例建模

2010-06-29 16:43:54

UML用例建模

2010-06-17 12:32:54

UML用例建模

2023-09-12 07:38:36

C++getline函數(shù)

2010-03-10 19:18:10

Python scri

2010-07-01 13:30:27

UML用例建模

2010-02-02 09:32:32

C++ typedef

2010-01-26 17:35:09

C++棧

2010-01-25 14:10:21

C++堆棧

2010-02-02 09:49:02

C++模板

2011-07-20 13:34:37

C++

2011-07-13 11:34:58

CC++時(shí)間函數(shù)

2018-06-20 10:34:56

堆棧iOSswift

2009-08-13 14:56:46

C#的結(jié)構(gòu)體使用

2013-07-15 15:12:40

iOS多線程NSOperationNSOperation

2024-05-21 11:09:17

2009-08-25 16:54:28

C# RichText

2009-08-13 13:29:04

C#結(jié)構(gòu)體使用

2009-08-13 14:06:37

C#結(jié)構(gòu)體結(jié)構(gòu)體和類的區(qū)別
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产一区二区三区久久久久久久久 | 午夜精品一区二区三区三上悠亚 | 二区久久| 日韩成人专区 | 在线观看中文字幕视频 | 欧美亚洲视频在线观看 | 午夜精品久久久 | 精品久| 男女在线免费观看 | 色资源在线 | 成人在线观看免费观看 | 欧美日韩亚洲国产 | 日韩免费在线观看视频 | 成人精品啪啪欧美成 | 精品欧美黑人一区二区三区 | 日韩一区二区在线观看 | 欧美精品日韩精品 | 国产日韩免费观看 | 国产精品成人一区二区三区夜夜夜 | 亚洲精品一区二三区不卡 | 国产成人精品午夜视频免费 | 色呦呦网站 | 久久久国产一区二区三区 | 亚洲欧美日韩在线 | 成人特级毛片 | 国产一区二区三区网站 | 波多野结衣中文字幕一区二区三区 | 亚洲欧美日韩在线 | 亚洲综合大片69999 | www国产亚洲精品久久网站 | 日韩中文字幕一区二区 | 亚洲欧美国产毛片在线 | 中文精品久久 | 久久久久国产一区二区三区 | 亚洲精品v日韩精品 | 久久精品欧美一区二区三区不卡 | 99国产精品久久久 | 丁香五月缴情综合网 | 国产视频久久久 | 久久免费国产 | 日韩精品久久一区二区三区 |