C 基礎隨筆002

2021-10-22 03:42:55 字數 2146 閱讀 4690

1、值傳遞

(1)所謂值傳遞,就是函式呼叫時實參將數值傳入給形參。

(2)值傳遞時,如果形參發生改變,並不會影響實參,即值傳遞時,形參是修飾不了形參的。

2、指標:

(1)作用:可以通過指標間接訪問記憶體。

(2)可以通過解引用的方式來找到指標指向的記憶體。

(3)指標前加 * 代表解引用,可以找到指標指向的記憶體中的資料。

(4)在32位作業系統下,指標是佔4個位元組空間大小,與資料型別無關;

在64位作業系統下,指標是佔8個位元組空間大小。

3、空指標和野指標

(1)空指標:指標變數指向記憶體中編號為0的空間。

(2)用途:初始化指標變數。

(3)空指標指向的記憶體是不可以訪問的。

4、野指標:指標變數指向非法的記憶體空間。

5、const修飾指標:

const修飾指標有三種情況:

(1)const修飾指標: 常量指標

const int * p;(特點:指標的指向可以修改,但是指標指向的值不可以修改。)

(2)const修飾常量: 指標常量

int * const p;(特點:指標的指向不可以修改,但是指標指向的值可以修改。)

(3)const即修飾指標,又修飾常量。

const int * const p;(特點:指標的指向不可以修改,指標指向的值也不可以修改。)

記憶技巧:看const右側緊跟著的是指標還是常量,是指標就只常量指標,是常量就是指標常量

6、指標和陣列

作用:利用指標訪問陣列中的元素。

7、指標和函式

作用:利用指標作函式引數,可以修改實參的值。

8、結構體:

(1)概念:結構體屬於使用者自定義的資料型別,允許使用者儲存不同的資料型別。

9、結構體陣列:

(1)作用:將自定義的結構體放入到陣列中方便維護。

10、結構體指標:

(1)作用:通過指標訪問結構體中的成員。

(2)利用操作符 -> 可以通過結構體指標訪問結構體屬性(即結構體中的成員)。

11、結構體巢狀結構體

(1)作用:結構體中的成員可以使另乙個結構體

12、結構體做函式引數

(1)作用:將結構體作為引數向函式中傳遞。

13、結構體中的const使用場景:

作用:用const來防止誤操作。

如:將函式中的形參改為指標,可以減少記憶體空間,而且不會複製新的副本出來

14、記憶體分割槽模型:

c++程式在執行時,將記憶體大方向分為4個區域:

(1)**區:存放函式的二進位制**,由作業系統進行管理的。

(2)全域性區:存放全域性變數和靜態變數以及常量。

(3)棧區:由編譯器自動分配釋放,存放函式的引數值,區域性變數等。

(4)堆區:由程式設計師分配和釋放,若程式設計師不釋放,程式結束時由作業系統**。

注:在c++中主要利用new在堆區中開闢記憶體

注意:記憶體四區的意義:不同區域存放的資料,賦予不同的宣告週期,給我們更大的靈活程式設計。

總結:(1)c++中在程式執行前分為全域性區和**區。

(2)**區特點是共享唯讀

(3)全域性區中存放全域性變數、靜態變數、常量。

(4)常量區中存放const修飾的全域性常量和字串常量。

15、new操作符

(1)c++中利用new操作符在堆區開闢資料。

(2)堆區開闢的資料,由程式設計師手動開闢,手動釋放,釋放利用操作符delete。

(3)語法: new 資料型別

注:利用new建立的資料,會返回該資料對應的型別的指標。

(4)釋放堆區陣列,釋放陣列的時候,要加[ ]才可以。 如:delete [ ] arr。

vue隨筆(菜鳥教程整理)002

學的不僅是技術,更是夢想!哈哈哈,打字辛苦啊!可以用 v else 指令給 v if 新增乙個 else 塊 隨機生成乙個數字,判斷是否大於0.5,然後輸出對應資訊 sorry not sorry v else if 在 2.1.0 新增,顧名思義,用作 v if 的 else if 塊。可以鏈式的...

C 基礎 002常用關鍵字

c 常用的關鍵字 abstract 抽象 as 像 base 基礎 bool 布林 break 中斷 byte 位元組 case 案例 catch 捕捉 char 字元 checked 檢查 class 類 const 常數 continue 繼續 decimal 表示金額的浮點型別 default...

零基礎入門學習C 002

一 基本內建型別 算數型別 對應空型別 注 型別還可分為 帶符號型別 無符號型別 型別轉換 略 字面值常量 略二 變數 變數定義 略 變數宣告和定義的關係 略註 變數只可以定義一次,卻可以宣告多次。識別符號 略 名字的作用域 略三 復合型別 引用 include void swapr int a,i...