關於c 動態陣列的一些粗淺見解

2021-08-31 09:20:06 字數 1142 閱讀 1765

指標基礎

首先引入乙個**塊

int value = 1024;

int *p;

p = &value;

這樣應該非常直觀了,宣告乙個變數value並將其初始化為1024,宣告乙個int型指標p,將value對應的位址值賦給p。

在這個**塊中,*p = value; p = &value;

直接宣告:

int valueb = 1024;  

int *pb = &valueb;

tips: int *pc == int* pc == int * pc; 間接引用:int number = *pc;

使用new分配記憶體

在執行階段給未命名的記憶體分配儲存值

typename pointer_name = new typename;

int pt = new int;

*pt = 1001;

記憶體使用完畢後需要使用delete來釋放記憶體。(必須為建立時記憶體的狀態,即增減後需要恢復為建立時的指標狀態)

delete pt;

一定要配對使用new 與 delete,否則會發生記憶體洩漏(memory leak)。

使用new建立動態陣列

int * ps = new int [20]; //通用格式: typename pointer_name = new typename [num_elements];

程式結束記憶體使用完畢後,同樣需要delete來釋放記憶體防止洩露。

delete ps; // 釋放整個陣列

使用動態陣列

建立動態陣列完畢就是使用它了,很簡單,如下:

double *p3 = new double [3];

double[0] = 0.3;

double[1] = 0.6;

double[2] = 0.9;

在這裡可以直接通過加減操作移動指標的位置。

p3 = p3 + 1;

關於Tcp的一些淺見

從小我們就被教育tcp三次握手,四次揮手云云.其實教科書把我們得思維限制死了,現實的狀況更加有趣.譬如伺服器端也會主動 say hi 客戶端和伺服器端會同時向對方發出syn.博主總結出以下幾條機器對於tcp訊號的反應,對所謂的 客戶端 和 伺服器端 都適用.建立連線的規則 1.收到 syn 必定回覆...

關於深度學習的一些淺見

就是更深層次的學習,它是機器學習的乙個子領域,就我個人理解而言,它就是乙個深度神經網路。就是擁有很多隱藏層的神經網路,通常只要隱藏層超過2個,我們就可以把這個神經網路定義為深度神經網路,當然,隱藏層的啟用函式應該是非線性的,如果是線性的,即使10000層,它的學習能力也僅僅相當於帶有乙個隱藏層的神經...

ceph的一些淺見 關於日誌(1)

日誌是研究 的第一步。ceph的日誌預設輸入到 var log ceph目錄下,可以進入到該目錄下,查詢相應資訊。總共有20個等級的日誌輸出,從1 20。例如我要調整osd.0的日誌輸出等級為15 15,使用下面的命令設定輸出等級 ceph tell osd.0 injectargs debug o...