首頁 > 常見問題 > 主體

c++資料型別有哪些

青灯夜游
發布: 2020-09-10 13:25:37
原創
59837 人瀏覽過

c 中的資料型別分為兩大類:1、預定義型,包含整數、字元型、布林型、浮點型、空型,指標型別;2、自訂資料型別,包含數組、結構體struct、聯合體union、枚舉enum。

c++資料型別有哪些

C 為程式設計師提供了豐富的內建預設資料型別和使用者自訂的資料型別。以下我們將為大家具體介紹這兩大類型的數據,具有一定的參考作用,希望對大家有幫助。

【影片教學推薦:C 教學

c 中的資料類型:

1、預定義型別

整數

c 有四種整數型別:short、int、long 、long long,每種都有signed(有符號,預設)、unsigned(無符號)兩種分類,有符號整數既可以表示非負整數,又可以表示負整數;但是,無符號整數不能表示負數,只能表示非負整數。

在c 的實作中,每一種類型在不同系統上使用的儲存位數(寬度)是不同的,其規則為:

 ● short至少16位元

 ● int至少與short一樣長

 ● long至少32位,且至少與int一樣長

 ● long long至少64位,且至少與long一樣長

字元型

char32_t Unicode字元 
類型  意義  該類型資料所佔的最小位元數
char  字元  8位元(即可表示28個字元)
wchar_t 寬字元  16位元
char16_t #Unicode字元  16位元
###32位元############

布林型

布林類型(bool)是C 新增的一種基本資料型別。在標準的C語言中並未定義bool類型,如果需要使用bool類型,程式設計師可以透過巨集定義來自訂一個bool類型,定義語句如下:

#define bool int
#define false 0
#define true 1
登入後複製

也就是將int型別定義為bool型,將int型的0和1兩個值分別定義為bool型別的兩個值true和false。

c++資料型別有哪些

浮點型

浮點型分為以下幾種:

c++資料型別有哪些

空白類型

關鍵字void定義的類型,不能用於普通變數的宣告和普通的操作,只能用於指標型變量,函數傳回值和函數參數。

指針類型

指針,用來描述記憶體位址,並透過提供指針操作來實現與記憶體相關的程式功能。

<类型>* <指针变量>;
登入後複製

說明:

其中<類型>決定了指向的記憶體空間的大小。

指標變數也是一種變量,有著自己的記憶體空間,該空間上儲存的是另一個變數的記憶體空間。

2、自訂資料類型

#陣列類型

##陣列類型是一種有固定多個同類型的元素以一定次序所構成的資料型態。

1、一維數組類型

 1)定義

数据类型 数组名[元素个数] ;
登入後複製

2)操作

● 透過下標存取元素。

  注意下標是否越界。 (C 中為了確保程式的執行效率不對下標越界進行檢查,越界時可以運行,但是結果不可預測)

##● 初始化

  int a[10] = {1,2 ,3};//其他元素初始化為0

  int a[] = {1,2,3};//元素個數為3

2、二維陣列型別

 1)定義

数据类型 数组名[常量表达式1][常量表达式2]
登入後複製

2)初始化

int a[2][3] = {{1,2,3},{4,5,6}}; 
//等同于 
int a[2][3] = {1,2,3,4,5,6};//二维数组可以转成一维数组进行处理,但是要注意下标
登入後複製
int a[][3] = {{1,2},{3,4,5}};//第一个下标可以省略,其他的不能,更高维的数组也同此。
登入後複製

按行儲存!

結構體資料型別

1、結構體

#結構體是由一系列具有相同型別或不同型別的資料所構成的資料集合。

定義:

  struct 名称{
    数据类型 变量名1;
     数据类型 变量名2;
     。。。。 
     数据类型 变量名n;
   }结构体变量名;
登入後複製

2、結構體數組:

struct Info{
   int age;
   char name[32];
}info[SIZE];
登入後複製

3、結構體嵌套:

struct BookInfo{
   char name[SIZE];
   char author[SIZE];
   int status;
};
  struct ReadreInfo{
   char Name[SIZE];
   char Date[SIZE];
 };
//结构体嵌套
 struct LibraryInfo{
   int ID;
   struct BookInfo book;
   struct ReadreInfo reader;
  }LibraryInfo;
登入後複製

聯合體類型

聯合體的使用方式和結構體及普通變數類似。

union 名称{
  类型变量符 变量名;
   ......
    类型变量符 变量名;
  };
登入後複製

聯合體的主要作用是節省內存,因為聯合體中的·變量不像結構體中的成員變量那樣,系統會給其中的每一個變量都分配相應的內存。在聯合體中,所有的成員變數共享一塊記憶體空間。這個記憶體空間是其成員變數中佔位元組數最多的變數所佔用的記憶體空間,並且所有的成員變數共用這一塊記憶體空間,因此聯合體中所有成員變數位址是一樣的。


枚舉類型

列舉類型(enumeration)是C 中的一種派生資料類型,它是由使用者定義的若干枚舉常數的集合。

如果一個變數只有幾種可能的值,可以定義為列舉(enumeration)型別。所謂"枚舉"是指將變數的值一一列舉出來,變數的值只能在列舉出來的值的範圍內。

建立枚舉,需要使用關鍵字 enum。枚舉類型的一般形式為:

enum 枚举名{ 
     标识符[=整型常数], 
     标识符[=整型常数], 
... 
    标识符[=整型常数]
} 枚举变量;
登入後複製

如果枚舉沒有初始化, 即省掉"=整數常數"時, 則從第一個標識符開始。

例如,下面的程式碼定義了一個顏色枚舉,變數 c 的類型為 color。最後,c 被賦值為 "blue"。

enum color { red, green, blue } c;
c = blue;
登入後複製

預設情況下,第一個名稱的值為 0,第二個名稱的值為 1,第三個名稱的值為 2,以此類推。但是,您也可以給名稱一個特殊的值,只需要新增一個初始值。例如,在下面的列舉中,green 的值為 5。

enum color { red, green=5, blue };
登入後複製

在這裡,blue 的值為 6,因為預設情況下,每個名稱都會比它前面一個名稱大 1,但 red 的值仍然是 0。

以上是c++資料型別有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板