程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 周全懂得構造體、結合體和列舉類型

周全懂得構造體、結合體和列舉類型

編輯:關於C++

周全懂得構造體、結合體和列舉類型。本站提示廣大學習愛好者:(周全懂得構造體、結合體和列舉類型)文章只能為提供參考,不一定能成為您想要的結果。以下是周全懂得構造體、結合體和列舉類型正文


一. 構造體:

1. 界說構造體類型:

struct 構造體
   {
       隨意率性類型 隨意率性變量;
       隨意率性類型 隨意率性變量;
       ……
};

留意:這不是界說變量,而是自界說一品種型罷了。

struct student
   {
    char name[10];//先生姓名
            int height;//先生身高
            bool sex;//先生性別 假定0表現女,1表現男。
          };//此處罰號不克不及少。

2. 界說構造體變量。

類型界說好今後,則可以界說該類型的變量。

界說構造體變量:

struct student a,b;// struct可以省略。
可以在界說構造體變量的時刻賦值。
如student a={”liudehua”,172,1},b={“lixiaolong”,172,1};
也能夠在界說構造體變量今後賦值,但留意不克不及再用{}。

如:

student a,b;
a={”liudehua”,172,1},b={“lixiaolong”,172,1};//這是毛病的。

而應當是:
strcpy(a.name,”liudehua”);

a.height=172;
a.sex=1;

3.可以在界說構造體類型的時刻同時界說構造體變量並賦值。

struct student
   {
    char name[10];//先生姓名
            int height;//先生身高
            bool sex;//先生性別 假定0表現女,1表現男。
         
} a={”liudehua”,172,1},b={“lixiaolong”,172,1};

4.拜訪構造體:

拜訪構造體成員要用直接成員運算符“.”或直接成員運算符“->”。
     student a={”liudehua”,172,1};
     cout<<a.name<<a.height<<a.sex;
     student *p=&a;
cout<<p->name<<p->height<<p->sex;

關於構造體變量,拜訪個中的成員采用“構造體變量.成員”的情勢;而關於構造體指針,拜訪它所指向的構造體變量中的成員,則采用“構造體指針->成員”情勢。

二.結合體

結合體也是一種自界說的復合類型,它可以包括多個分歧類型的變量。這些變量在內存傍邊共用一段空間。這段空間的size就是各變量中size最年夜的誰人變量。

1界說結合體類型:

union myunion
{int num1;
Double num2;
Float num3;
};

界說了一個結合體類型myunion。
myunion a,b;//界說了兩個myunion型變量。
也能夠在界說結合體類型的時刻界說結合體變量。

如:

union myunion
{int num1;
Double num2;
Float num3;
}a,b;

a占用的空間有多年夜呢?
Sizeof(a)成果即為8,即myunion占用8個字節,和double型變量雷同。
留意:任一時辰,只能拜訪構造體外面的一個變量。

a.num1=2;
      a.num2=3.154;
myunion *p;
p=&a;
p->num3=5.6;

三.列舉類型

1.列舉類型的界說:
列舉類型也是一種自界說的復合類型。不外,列舉類型中的成員都是常量。

enum color

   red,
   green,
   blue,
   white,
   black
};

列舉類型中的成員默許值為從0開端,順次序遞增。此時red==1,green為2,blue為3,white為4,black為5.
也能夠轉變起默許值。

enum color

   red=1,
   green=3,
   blue=5,
   white,
   black
};

沒有初始化的列舉類型成員的值將在它後面的成員基本上遞增。
所以,white的值為6,而black的值為7.

2.界說列舉變量:

color a1,a2;

3.給列舉變量賦值:
   a1=red;
   a2=blue;
cout<<a1<<a2;//輸入成果是15

固然列舉常量的值整數,然則不克不及直接將整數值賦給列舉變量。

a1=1;//這是纰謬的。由於類型不婚配。一個是整型,一個是列舉類型。
a1=(color)1;//准確

列舉變量的size是一個整數的年夜小。

以上這篇周全懂得構造體、結合體和列舉類型就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved