C 學習筆記1 變數和基本型別

2021-10-16 16:28:18 字數 1459 閱讀 9926

考試周和化工廠設計結束了,總算可以拿起書學習了。。

1, 如果在數字前加入字首0,則以八進位制計算。加入字首0x則以十六進製制計算。所以如果你寫int i = 08或者int i = 09; 是會報錯的。

首先使用格式如下:

int i = 0; i是乙個變數

int &j = i ; j是乙個引用,指向乙個物件

int *k = &i;k是乙個指標。類似於引用,但本身是可以賦值和拷貝的。

其中變數和指標在函式體內允許不在定義時就初始化。而引用必須初始化。原因在於變數和指標是物件,其內部空間是可以更改儲存的資料的。而引用不行,它不是乙個物件,它只是指向乙個物件且無法通過賦值改變。因此如果你寫int &j ;這是會報錯的。

而且指標可以指向乙個指標,如下

int

*p =

&i;int

**p1 =

&p;

關鍵字const定義一種變數,它的值不能被改變

1,帶有const的變數無法在定義語句結束後再賦值。

2, 帶有const的引用被稱為「常量引用」。

我們都知道,j是無法指向乙個常量的,因為它只具備可讀性,無法操作改變,不占用記憶體。即

int

&j =0;

//這樣寫是會報錯的

const

int&j =0;

//這樣寫是可行的,這個時候我們可以把j看作是整數0,因為它不會發生改變,這也是稱為常量引用的原因

3 帶有const的指標有兩種,一種是頂層const一種是底層const。頂層const指的是指標本身不可改變,底層const指的是指向的變數不可改變。

頂層指標:

int

*const k =

&i;

底層指標:

const

int k =

&i;

需要注意如果變數本身帶有const,那麼你對它的引用也必須帶有const,否則的話很顯然,會導致矛盾,進而報錯。

vs似乎能接受這樣一種寫法

const

int&

const r2 = i;

不過沒必要,因為引用本身是不可改的,所以直接寫成const int &r2 = i;就可以了。

1 auto型別說明符

c++11引入的說明符,它能讓編譯器替我們去分析表示式所屬型別。

auto i =0,

*p =

&i;// i識別為整數,p是整型指標

2, decltype型別指示符,選擇並返回運算元的資料型別。

decltype(f

()) sum = x;

//sum 的型別就是f()的返回型別。

c++11引入的這兩種符號還是相當有用的

1 變數和基本型別

型別主要是用來告訴我們資料代表什麼意思,對資料該執行什麼操作。1.1 基本資料型別 c 中有布林型 字元型 整型 浮點型等。其中整數 字元和布林的算術型別合稱為整型 它與在計算機儲存器中的表示方式緊密相關。計算機以位序列儲存資料,每位儲存0或1.通常在計算機中int儲存長度為1個機器字長。1 inc...

變數和基本型別 C Primer學習筆記

1.linux下檢視main函式返回值 echo 2.endl是乙個特殊值,稱為操縱符 mainpulator 具有換行和重新整理與裝置相關緩衝區的作用。3.注釋對不可巢狀。4.可以用std cin value 讀取未知數目的輸入。windows使用control z作為結束符,linux使用con...

C 基本型別和變數

算術型別包含整型 包括字元和布林型別 和浮點型。主要型別 bool char wchar t char16 t char32 t short intlong long long float double long double 在程式中,帶符號型別和不帶符號型別最好不要混用,容易出現錯誤。如下圖 2...