搜尋
首頁常見問題c++資料型別有哪些
c++資料型別有哪些Feb 27, 2019 pm 03:05 PM
c++資料類型

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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Windows 11 系统下的五款最佳免费 C++ 编译器推荐Windows 11 系统下的五款最佳免费 C++ 编译器推荐Apr 23, 2023 am 08:52 AM

C++是一种广泛使用的面向对象的计算机编程语言,它支持您与之交互的大多数应用程序和网站。你需要编译器和集成开发环境来开发C++应用程序,既然你在这里,我猜你正在寻找一个。我们将在本文中介绍一些适用于Windows11的C++编译器的主要推荐。许多审查的编译器将主要用于C++,但也有许多通用编译器您可能想尝试。MinGW可以在Windows11上运行吗?在本文中,我们没有将MinGW作为独立编译器进行讨论,但如果讨论了某些IDE中的功能,并且是DevC++编译器的首选

C++报错:变量未初始化,应该如何解决?C++报错:变量未初始化,应该如何解决?Aug 21, 2023 pm 10:01 PM

在C++程序开发中,当我们声明了一个变量但是没有对其进行初始化,就会出现“变量未初始化”的报错。这种报错经常会让人感到很困惑和无从下手,因为这种错误并不像其他常见的语法错误那样具体,也不会给出特定的代码行数或者错误类型。因此,下面我们将详细介绍变量未初始化的问题,以及如何解决这个报错。一、什么是变量未初始化错误?变量未初始化是指在程序中声明了一个变量但是没有

C++编译错误:未定义的引用,该怎么解决?C++编译错误:未定义的引用,该怎么解决?Aug 21, 2023 pm 08:52 PM

C++是一门广受欢迎的编程语言,但是在使用过程中,经常会出现“未定义的引用”这个编译错误,给程序的开发带来了诸多麻烦。本篇文章将从出错原因和解决方法两个方面,探讨“未定义的引用”错误的解决方法。一、出错原因C++编译器在编译一个源文件时,会将它分为两个阶段:编译阶段和链接阶段。编译阶段将源文件中的源码转换为汇编代码,而链接阶段将不同的源文件合并为一个可执行文

如何优化C++开发中的文件读写性能如何优化C++开发中的文件读写性能Aug 21, 2023 pm 10:13 PM

如何优化C++开发中的文件读写性能在C++开发过程中,文件的读写操作是常见的任务之一。然而,由于文件读写是磁盘IO操作,相对于内存IO操作来说会更为耗时。为了提高程序的性能,我们需要优化文件读写操作。本文将介绍一些常见的优化技巧和建议,帮助开发者在C++文件读写过程中提高性能。使用合适的文件读写方式在C++中,文件读写可以通过多种方式实现,如C风格的文件IO

C++编译错误:无法为类模板找到实例化,应该怎么解决?C++编译错误:无法为类模板找到实例化,应该怎么解决?Aug 21, 2023 pm 08:33 PM

C++是一门强大的编程语言,它支持使用类模板来实现代码的复用,提高开发效率。但是在使用类模板时,可能会遭遇编译错误,其中一个比较常见的错误是“无法为类模板找到实例化”(error:cannotfindinstantiationofclasstemplate)。本文将介绍这个问题的原因以及如何解决。问题描述在使用类模板时,有时会遇到以下错误信息:e

iostream头文件的作用是什么iostream头文件的作用是什么Mar 25, 2021 pm 03:45 PM

iostream头文件包含了操作输入输出流的方法,比如读取一个文件,以流的方式读取;其作用是:让初学者有一个方便的命令行输入输出试验环境。iostream的设计初衷是提供一个可扩展的类型安全的IO机制。

C++中的信号处理技巧C++中的信号处理技巧Aug 21, 2023 pm 10:01 PM

C++是一种流行的编程语言,它强大而灵活,适用于各种应用程序开发。在使用C++开发应用程序时,经常需要处理各种信号。本文将介绍C++中的信号处理技巧,以帮助开发人员更好地掌握这一方面。一、信号处理的基本概念信号是一种软件中断,用于通知应用程序内部或外部事件。当特定事件发生时,操作系统会向应用程序发送信号,应用程序可以选择忽略或响应此信号。在C++中,信号可以

c++数组怎么初始化c++数组怎么初始化Oct 15, 2021 pm 02:09 PM

c++初始化数组的方法:1、先定义数组再给数组赋值,语法“数据类型 数组名[length];数组名[下标]=值;”;2、定义数组时初始化数组,语法“数据类型 数组名[length]=[值列表]”。

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版