C 學習筆記(一)

2022-08-10 10:54:19 字數 1696 閱讀 4121

使用靜態型別的程式語言實在編譯時執行型別檢查,而不是在執行時執行型別檢查。c++屬於靜態型別語言。

物件導向四大特性:封裝、繼承、抽象、多型。

標準c++三個重要部分組成:核心語言、c++標準庫、標準模板庫(stl)。

ansi標準,確保c++的便攜性,我理解為跨平台性。

c++主要用於與硬體裝置相關的程式、教學和研究、系統的使用者介面等。

七種基本c++資料型別:bool, char, int, float, double, void, wchar_t.

一些基本型別可以使用乙個或多個型別修飾符進行修飾: signed, unsigned, short, long.

變數的長度會因為編譯器和電腦的不同而不同,想確定變數的長度的時候,可以使用sizeof()函式來確定。例如sizeof(int),sizeof(bool)等。

想確定最大值和最小值可以用(numeric_limits《型別》::max)()和(numeric_limits《型別》::min)()來確定,例如(numeric_limits::max)(),(numeric_limits::min)()。

列舉型別限定變數的值,當變數只有幾種可能的值的時候,使用列舉型別。如果列舉型別沒有賦初始值的時候,列舉型別預設從0開始,依次加1。

enum color ;
這裡,red=0;green=5;blue=6;

左值(lvalue):指向記憶體位置的表示式被稱為左值(lvalue)表示式。左值可以出現在賦值號的左邊或右邊。

三種變數:區域性引數,形式引數,全域性變數。

區域性變數被定義時,系統不會對其執行初始化,必須自行對其初始化。定義全域性變數時,系統會自動初始化為下列值:

c++中整數後面加u或u代表無符號整數常量。後面加l代表長整數常量。0x字首代表十六進製制。以大寫l開頭,後面用單引號括起來的字元為寬字元常量(如l'x')。

c++中的bool型別對應的true和false都是小寫。

c++中定義常量的兩種方式:#define預處理器和const關鍵字。

例如:

#define length 10

const int length=10;

通常習慣將常量定義為大寫字母。

限定符:

const

const型別的物件在程式執行期間不能被修改改變。

volatile

修飾符volatile告訴編譯器不需要優化volatile宣告的變數,讓程式可以直接從記憶體中讀取變數。對於一般的變數編譯器會對變數進行優化,將記憶體中的變數值放在暫存器中以加快讀寫效率。

restrict

restrict修飾的指標是唯一一種訪問它所指向的物件的方式。只有 c99 增加了新的型別限定符 restrict。

volatile 影響編譯器編譯的結果,指出,volatile 變數是隨時可能發生變化的,與volatile變數有關的運算,不要進行編譯優化,以免出錯,(vc++ 在產生release版可執行碼時會進行編譯優化,加volatile關鍵字的變數有關的運算,將不進行編譯優化。)。

參考:

c 學習筆記一

2007 9 4 引用,該型別的變數不直接儲存所包含的值,而是指向它所要儲存的值。c 的引用型別有四種 類 代表 陣列 介面。一下 表示類b從類 a中繼承 class a class b a 類的成員有以下型別 成員常量,代表與類相關聯的常量值。域,即類中的變數。成員方法,複雜執行類中的計算和其它操...

C 學習筆記 一

c 學習筆記 一 by heiyeluren 學習 visual c 入門經典 的個人筆記。1.函式的過載 函式過載提供了建立多個同名函式的能力。我們確定乙個函式是獨一無二的方法是通過三項方法,分別是是通過返回值的型別,函式名,函式 引數等三項內容。我們函式過載主要就是使用不同的引數來確定使用那個函...

C 學習筆記一

c中的記憶體分配方式 1.靜態儲存區域 在程式開始之前就可以分配,且在程式執行過程中始終存在 2.棧 儲存單元在其上分配,單元外自動釋放,多見內建 資料型別於此 3.堆 動態分配,即程式執行時分配此部分記憶體.由使用者分配且要負責釋放.生存期由使用者決定,不受範圍限制 stdlib.h提供mallo...