在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
微信掃一掃
支付寶掃一掃