C/C++編程筆記:C ++的三大數據類型(原始、派生、抽象)

2021-01-15 騰訊網

在聲明期間,所有變量都使用數據類型來限制要存儲的數據。因此,可以說數據類型用於告訴變量它可以存儲的數據類型。只要在C ++中定義了變量,編譯器就會根據聲明該變量的數據類型為該變量分配一些內存。每種數據類型都需要不同數量的內存。

C ++中的數據類型主要分為三種類型:

原始數據類型:這些數據類型是內置或預定義的數據類型,用戶可以直接使用它們聲明變量。例如:int,char,float,bool等。C++中可用的原始數據類型為:

(1)整數

(2)字符

(3)布爾型

(4)浮點

(5)雙浮點數

(6)void

(7)寬字符

派生數據類型:從原始或內置數據類型派生的數據類型稱為派生數據類型。這些可以是四種類型,即:

(1)功能

(2)數組

(3)指針

(4)引用

抽象或用戶定義的數據類型:這些數據類型由用戶自己定義。就像在C ++中定義類或結構一樣。C ++提供了以下用戶定義的數據類型:

(1)類

(2)結構體

(3)union

(4)枚舉

(5)Typedef

本文討論了C ++中可用的原始數據類型。

整數:用於整數數據類型的關鍵字是int。整數通常需要4個字節的存儲空間,範圍為-2147483648至2147483647。

字符:字符數據類型用於存儲字符。用於字符數據類型的關鍵字是char。字符通常需要1個字節的存儲空間,範圍從-128到127或0到255。

布爾值:布爾數據類型用於存儲布爾值或邏輯值。布爾變量可以存儲true或false。用於布爾數據類型的關鍵字是bool。

浮點數:浮點數據類型用於存儲單精度浮點值或十進位值。用於浮點數據類型的關鍵字是float。浮點變量通常需要4個字節的存儲空間。

Double Floating Point:Double Floating Point數據類型用於存儲雙精度浮點值或十進位值。用於雙浮點數據類型的關鍵字是double。雙變量通常需要8個字節的存儲空間。

void:無效表示沒有任何值。void數據類型表示無價值的實體。無效數據類型用於那些不返回值的函數。

寬字符:寬字符數據類型也是字符數據類型,但是此數據類型的大小大於正常的8位數據類型。由wchar_t表示。通常為2或4個字節長。

數據類型修飾符

顧名思義,數據類型修飾符與內置數據類型一起使用,以修改特定數據類型可以保存的數據長度。

C ++中可用的數據類型修飾符為:

Signed

Unsigned

Short

Long

下表總結了與類型修飾符結合使用時內置數據類型的修改大小和範圍:

注意:以上值可能因編譯器而異。

我們可以通過使用sizeof()運算符並將數據類型的關鍵字作為該函數的參數傳遞來顯示所有數據類型的大小,如下所示:

希望對你有幫助~

相關焦點

  • C/C+編程筆記:C+的三大數據類型(原始、派生、抽象)
    C ++中的數據類型主要分為三種類型: 原始數據類型:這些數據類型是內置或預定義的數據類型,用戶可以直接使用它們聲明變量。C++中可用的原始數據類型為: (1)整數 (2)字符 (3)布爾型 (4)浮點 (5)雙浮點數 (6)void (7)寬字符
  • 信息學競賽需要掌握哪些程式語言知識
    一、程式語言選擇信息學聯賽主要考的是程序設計,選擇合適的參賽程式語言是首要選擇,信息學競賽的程式語言有三種:pascal語言、c語言、c++語言,pascal語言將於2022年停止在信息學競賽中使用,所以現在學習pascal語言意義不大,剩下的只有選擇c語言和c++語言,實際考試中絕大多數考生選擇
  • 【Rust日報】2020-09-05 微軟在c+靜態分析工具實現了一些rust的...
    微軟在c++靜態分析工具實現了一些rust的安全規則 Rust和c++是兩種流行的系統程式語言。多年來,c++的焦點一直放在性能上。我們越來越多地聽到來自客戶和安全研究人員的呼籲,認為c++語言應該有更強的安全保證。
  • C/C++每日一問--判斷素數
    點擊上方「嵌入式龍憨憨」,選擇「置頂/星標公眾號」第一時間查看編程筆記!
  • 51筆記2:keil中建立多個c文件時,變量重複定義
    c/c++語言中有很多地方要用到extern,但是如果沒有真正的了解它的意義,會給編程帶來很大的麻煩,為了使大家少走彎路,特祥細的說明一下。
  • C/C+編程筆記:C語言編程面試常見問題,全是經典題!
    如果有剛剛學習編程的小夥伴也可以看一下,都是當時大學應該學懂的,但是因為我以前沒有好好聽課,有些也沒有注意到,現在也是提醒大家吧~ 這些功能使其適用於諸如作業系統或編譯器開發之類的系統編程。 i ++和++ i有什麼區別? 1)表達式「 i ++」返回舊值,然後遞增i。表達式++ i遞增該值並返回新值。 2)後綴++的優先級高於前綴++。
  • R語言筆記1:數據類型(向量、數組、矩陣、 列表和數據框)
    R語言中的數據類型(Data Types)R語言的對象(Objects)主要包括向量、矩陣、數組、數據框和列表。R語言的對象有五種最基本的類型,即,字符型(character)、數值型(numeric,包括小數)、整型(integer)、複數型(complex)以及邏輯型(logical,TRUE/FALSE)屬性是R語言對象的一部分。
  • 「C語言從入門到入土」必備C語言基礎筆記整理
    |連結:最後進行連結得到可執行程序,後綴是.exe(VS連結快捷鍵方式是 Ctrl+F5)||三、簡單說數據類型C數據類型:基本類型(數值類型(整型(短整型(Short)、整型(int)、長整型(long))、浮點型(單精度型(float)、雙精度型(Double))、字符類型(char))、構造類型(數組、結構體(struct)、共同體、枚舉類型(enum))、指針類型、空類型(void)Defining variable定義變量(定義:Defining ,變量:variable)轉義字符轉義字符。
  • C語言編程:驗證哥德巴赫猜想
    a = b + c(其中a是大於等於6的整數,b和c是素數)這個問題就等價於:對於一個給定的大於等於4的偶數a,怎麼找到素數b和c呢?可以用循環的方法,把b的值從3循環到a-3,那麼對應的c的值就是a-3到3。然後我們分別對每一組的b和c值進行是否是素數的判斷。
  • 剖析C語言中a=a+++a的無聊問題
    posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,
  • C/C++免殺CS shellcode實踐
    ctypes.c_int(0x40)) buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode) ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_int(ptr), buf,
  • 微軟未來將使用 Rust 作為 C、C++ 以及其他程式語言的替代方案
    近日,微軟安全響應中心(MSRC)團隊在官網更新文章,就近日提出的最新計劃,即未來將使用 Rust 作為 C、C++ 以及其他程式語言的替代方案以改善應用程式的安全性的計劃,從空間內存安全、時間內存安全、數據競爭等方面進行了進一步的深入補充。
  • DSP編程技巧之24---C/C++與彙編語言的交互之-(2)從C/C++代碼調用...
    在C/C++與彙編語言混合編程的情況下,一般我們都會選擇C/C++來實現所期待的大部分功能,對於少數和硬體關聯度高(例如操作某些CPU寄存器)以及對運算的實時性要求高(例如高速、多點的FFT)的功能才使用彙編來實現,這就使得大多數情況下,C/C++與彙編的交互都是從C/C++代碼調用彙編代碼中的函數與變量,所以在此我們就來看一下這種調用的規則。
  • C/C++的起源與發展故事,我是最牛的軟體程式語言,不接受反駁
    C語言和C++語言之所以被稱為經典,是因為Windows、Linux、UNIX、DOS四大作業系統的核心代碼大部分是使用C和C++編寫;之所以說堅挺,是因為當前軟體領域採用的程式語言中,這兩種語言基本上長期處於TOP 10的序列。所以可以說這兩種語言是最牛的程式語言。對於C語言的誕生和起源,可以說是偶然中的必然。
  • 引用數據類型的概念_引用數據類型有哪幾種
    引用數據類型的概念   「引用」(reference)是c++的一種新的變量類型,是對C的一個重要補充。它的作用是為變量起一個別名。假如有一個變量a,想給它起一個別名,可以這樣寫:   int a;int &b=a;   這就表明了b是a的「引用」,即a的別名。
  • 自考「C語言程序設計」模擬試題九
    A.語句          B.行號            C.數據           D.函數  2.下面標識符中正確的是(       )。  A.無輸出       B.結果不確定     C.-1         D. 1  10.有如下定義類型語句,若從鍵盤輸入數據,正確的輸入語句是(   )。
  • C語言程序設計試題及答案
    A) int:a, b, c; B) int a; b; c;C) int a, b, c D) int a, b, c;20、C語言用( )表示邏輯「真」值。
  • 新冠病毒變異成三大類型,大馬屬哪類?
    新冠病毒家族開枝散葉,三大類型聚集不同地區。病毒爆發至今不到5個月,但在全球就累積了200萬例確診病例,奪走了超過13萬條人命,那到底這個被聯合國稱為二戰之後最大危機的新冠病毒是從哪裡來的呢?這其實也是打從疫情爆發以來,全球科學家一直努力想要找出的答案,那前幾天的英國劍橋大學跟德國學者組成的一支研究團隊,共同在美國社科院院報就發布了一份最新研究,他們分析,從全球採樣回來的160個病毒基因組的數據,發現新聞病毒不是單一類型而已,而是早已經通過變異而產生了三個不同類型,那分別是a型b型還有c型。
  • 詳解C語言數據類型:float與double
    C的設計師認為這是個好主意,因為這些轉換基本上是免費的,因為所有類型的尺寸都足夠小,可以放入單個寄存器或堆棧中的單個「單元」(將內容壓入堆棧必須與某些字節邊界對齊,例如,堆棧上的每個項目都必須以4的倍數的地址開頭。同樣,顯然,這種轉換減少了傳遞參數時的錯誤。
  • 「記」詳解C語言之格式
    #C語言初學#在開始說明本文主題之前,我想有必要科普下C語言的歷史:C語言誕生於美國的貝爾實驗室,由D.M.Ritchie以B語言為基礎發展而來,在它的主體設計完成後,Thompson和Ritchie用它完全重寫了UNIX,且隨著UNIX的發展,c語言也得到了不斷的完善