在C++編程語言中,變數的類型決定了所存儲數據的形式和範圍,不同的數據類型可以存儲不同類型的數據,具有不同的使用方式和限制。C++的數據類型可以分為基礎類型和自定義類型兩種。
一、基礎類型
1、整型
整型是C++中最常見的數據類型之一,用於表示整數,可以分為有符號和無符號整型。有符號整型可以表示正數、負數和零,無符號整型只能表示零和正數。C++中的整型類型包括:short、int、long、long long以及它們的無符號版本:unsigned short、unsigned int、unsigned long、unsigned long long。其中,short類型通常佔用2個位元組,int類型佔用4個位元組(但具體實現與平台相關),long類型佔用4個位元組,long long類型佔用8個位元組。
// 整型示例代碼 int main() { short s = 1; int i = 2147483647; long l = 2147483647; long long l1 = 9223372036854775807; unsigned short us = 65535; unsigned int ui = 4294967295; unsigned long ul = 4294967295; unsigned long long ul1 = 18446744073709551615; return 0; }
2、浮點型
浮點型用於表示實數,可以分為單精度浮點型(float)和雙精度浮點型(double),其中,float類型佔用4個位元組,能表示的精度約為7位小數;double類型佔用8個位元組,精度約為16位小數。
// 浮點型示例代碼 int main() { float f = 3.1415926f; double d = 3.14159265358979323846; return 0; }
3、布爾型
布爾型只有兩個取值:true和false。在C++中,布爾型通常佔用1個位元組。
// 布爾型示例代碼 int main() { bool b1 = true; bool b2 = false; return 0; }
4、字元型
字元型用於表示單個字元,通常佔用1個位元組。不同的編碼方式(如ASCII碼、Unicode等)決定了可表示的字符集和編碼方式。
// 字元型示例代碼 int main() { char c1 = 'A'; char c2 = 65; // ASCII碼值為65表示字元'A' return 0; }
二、自定義類型
除了基礎類型,C++還提供了自定義類型的機制,允許程序員根據實際需要定義具有特定屬性和行為的類型。
1、結構體
結構體是一種自定義類型,允許將不同類型的數據組織在一起形成一個單獨的數據類型。結構體通常包含一個或多個成員變數,每個成員變數可以有自己的數據類型,結構體的成員變數可以是基礎類型、自定義類型、數組等,可以根據需要定義為有符號或無符號類型。我們可以通過結構體來定義集合類型,表示抽象的或物理上相關聯的實體。
// 結構體示例代碼 #include <iostream> using namespace std; struct Student { int id; // 學號 char name[10]; // 姓名 int age; // 年齡 float score; // 成績 }; int main() { Student s = { 1001, "張三", 20, 90.5f }; cout << "學號:" << s.id << endl; cout << "姓名:" << s.name << endl; cout << "年齡:" << s.age << endl; cout << "成績:" << s.score << endl; return 0; }
2、枚舉類型
枚舉類型是一種自定義類型,用於定義一組離散的取值(枚舉值),通常用於代表程序中的某些狀態、選項或者整數常量等。枚舉類型可以被賦予默認值,也可以在後續代碼中重新賦值。
// 枚舉類型示例代碼 #include <iostream> using namespace std; enum Week { Sunday = 0, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; int main() { Week day = Monday; cout << "day = " << day << endl; // 輸出結果為1 return 0; }
3、typedef
typedef可以為一個類型定義一個新的別名,可以使代碼更加易讀易懂。常用於為複雜類型定義簡短、易讀的名稱,提高了代碼的可讀性,並且易於維護和修改。
// typedef示例代碼 #include <iostream> using namespace std; typedef int integer; int main() { integer i = 123; cout << "integer i = " << i << endl; return 0; }
4、指針類型
指針類型也是一種自定義類型,它可以存儲指向其他類型的變數的內存地址。在C++中,使用指針可以進行動態內存分配、實現複雜的數據結構以及優化程序性能等。
// 指針類型示例代碼 #include <iostream> using namespace std; int main() { int i = 123; int *p = &i; // 定義一個指向int類型變數的指針 cout << "i = " << i << endl; cout << "*p = " << *p << endl; *p = 456; // 修改指向的變數的值 cout << "i = " << i << endl; cout << "*p = " << *p << endl; return 0; }
總之,C++提供了豐富的數據類型和自定義機制,使得程序員可以根據實際需要定義合適的數據類型,提高程序的可讀性、可擴展性和可維護性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236478.html