C 資料型別總結

2021-08-28 22:20:25 字數 3605 閱讀 1843

布林型:bool

字元型:char(區分signed(預設)、unsigned)

整型: short、int、long、long long(區分signed(預設)、unsigned)

規則:short至少16位;int至少和short一樣;long至少32位,且至少和int一樣長;long long至少64位,且至少和long一樣長。

備註:在32位和64位計算機上,對於整形唯一不同的就是int和指標的大小,其中32位計算機上int佔2位元組,64位上佔4位元組。指標大小和int大小相同

寬字元型:wchar_t

char是8位字元型別,最多只能包含256種字元,許多外文字符集所含的字元數目超過256個,char型無法表示。

wchar_t資料型別一般為16位或32位,但不同的c或c++庫有不同的規定,如gnu libc規定wchar_t為32位,總之,wchar_t所能表示的字元數遠超char型。

標準c++中的wprintf()函式以及iostream類庫中的類和物件能提供wchar_t寬字元型別的相關操作。

字元型c++11新增型別:char16_t和char32_t

char16_t:16位無符號->字首u表示

char32_t:32位無符號->字首u表示

浮點型:float、double、long double

float:至少32位

double:至少48位,且不少於float,通常為64位

long double:至少和double一樣長,通常為80,96,128位

陣列:陣列格式:typename arrayname[arraysize]

一維陣列:int arr[3] = ;

賦值:arr[1] = 2;

二維陣列:int arr[2][3] = , }

arr(arr[0]:代表的是首行(即第0行)的首位址

arr+1(arr[1]):代表的是第1行的首位址

陣列長度:int length = sizeof(arr)/sizeof(int)

規則:所有的元素必須是同一種型別

陣列的長度必須是固定的

陣列的計數是從0開始的

陣列在記憶體中是連續儲存的

陣列的位址是首元素的位址

字串:

c字串:

字元陣列:char dog[2] = ;

字串: char dog[2] = ;char dog[3] = 「hel」 ;char *ptr = 「c language」

常用函式:

include

strlen():求字串長度,不包含』\0』;

strcmp():對比兩個字串,如果相等,返回0;

strcat():拼接兩個字串,並且將拼接好的字串給第乙個字串;

strcpy():字串拷貝函式

c++字串:

std:: string

賦值:string str = 「hello world」;

拼接:str1 = str2 + str3;

長度:int len1 = str.size();

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

建立列舉,需要使用關鍵字 enum。

列舉型別的一般形式為:

enum 列舉名 列舉變數;

預設情況下,第乙個名稱的值為 0,第二個名稱的值為 1,第三個名稱的值為 2,以此類推。但是,您也可以給名稱賦予乙個特殊的值,只需要新增乙個初始值即可

#include

using namespace std;

intmain()

; color c = red;

cout << c << green << endl;

}

結構:

結構定義並不預留記憶體,不會分配空間

訪問結構成員的操作要用圓點運算子(.),一般形式為:結構變數名.成員名。

可以通過指向結構的指標訪問結構成員,常用形式為:結構指標變數->成員名

位元組補齊演算法:

如果只有乙個值,採用的就是自身的對齊方式;

如果有多個值,採用最大的資料型別佔據的記憶體數,作為對齊標準;

結構體所佔空間的總大小,必須是最大的資料型別的整數倍

#include

using namespace std;

intmain()

; table1 t1 =

; t1.column =3;

cout << t1.column << endl;

//初始化方法二:

struct table2

t2,*pt2;

t2.column =4;

cout << t2.column << endl;

pt2 =

&t2;

strcpy_s

(pt2->name,3,

"ha");

cout << t2.name << endl;

//初始化方法三:

typedef

struct stu

stu,

*pstu;

stu stu;

stu.num =3;

cout << stu.num << endl;

//pstu pstu = (pstu)malloc(sizeof(stu));//c

//pstu->num = 4;

//free pstu;

pstu pstu = new stu;

//c++

pstu->num =5;

cout << pstu->num << endl;

delete pstu;

//結構陣列:

table1 test[2]

=,};

test[0]

.column =6;

cout << test[0]

.column << endl;

}

共用體:

定義:共同體的定義類似結構體,不過共同體的所有成員都在同一段記憶體中存放,起始位址一樣,並且同一時刻只能使用其中的乙個成員變數

共用體與結構體區別:

1、結構體變數所佔長度是各成員佔的記憶體長度之和。每個成員分別占有自己的記憶體單元。共用體變數所佔的記憶體長度等於最長的成員的長度。

2、共用體同一時刻只能存放並且使用其中的乙個成員變數

3、對共用體不同成員賦值,會對其他成員重寫,原來成員的值就不存在了

#include

using namespace std;

intmain()

; data d;

d.a =

'q';

cout << d.a << endl;

//q d.b =

'm';

cout << d.b << endl;

//m cout << d.a << endl;

//mreturn0;

}

C資料型別總結

一 基本資料型別 1,int a,long int long 8個位元組 ld b,short int,short 2個位元組 d i c,unsigned int,unsigned 4 個位元組,zd d,signed int,signed,int 4個位元組 d i 2,float double...

C 資料型別總結

一 資料型別 資料型別是按照規定形式表示資料的一種方式,不同的資料型別占用空間也不同 對於資料型別,還應該明白以下幾點 1 整型資料 int可以有修飾符 short long long long三種,後面的int可省略 預設的整形資料常量為int add,共4種,int short int long...

C 資料型別總結

c 的基本整型 按寬度遞增的順序排列 分別是char short int long long long,其中char型別最常用來表示字元,而不是數字。c 提供了一種靈活的標準,確保了最小長度 short至少16位 int 至少與short一樣長 long至少32位,且至少與int一樣長 long l...