電腦程式在儲存資料時必須跟蹤的3種基本屬性:資訊儲存在何處,儲存的值為多少,儲存的資訊時什麼型別。 一種策略是定義乙個簡單變數,另一種是以指標為基礎。
指標與c++基本原理:物件導向程式設計與傳統的過程性程式設計的區別在於,oop強調在執行階段(而不是編譯階段)進行決策,執行階段是程式正在執行時,編譯階段是指編譯器將程式組合起來。執行階段決策好比度假時,去哪些景點參觀取決天氣和心情,而編譯階段決策更像是不管什麼條件下,都堅持預先計畫的安排。
執行階段決策提供靈活性,可以根絕當時的情況進行調整,如陣列宣告,程式編譯時候就設定好了,就是編譯階段決策。程式不一定需要多少容量的陣列,在執行階段確定陣列長度,必須在程式執行建立陣列,使用關鍵字new請求正確數量的記憶體以及使用指標跟蹤新分配的記憶體的位置。oop通過決策推遲到執行階段,使程式更加靈活。在程式執行後,可以這次告訴他只需要20個元素,還可以下次告訴他需要205個元素。
在執行階段決策並oop獨有的,但是使用c++編寫這樣的**比使用c語言簡單。
指標宣告:char的位址和double的位址看上去沒什麼兩樣,但二者使用的位元組數不同,儲存值內部格式也不同,指標宣告必須指定指向指標指向的資料型別。
和陣列一樣,指標基於其他資料型別,int* p1,p2(int* 是一種型別,指向int的指標,建立乙個指標p1和乙個int變數p2),對於每個指標變數名,都需要使用乙個*。
宣告了乙個指標變數 int *p後,p的址址即告確定,但p的值是隨機值,會指到**去誰也不知道,所以叫「野指標」。只有對p人為進行賦值後,p的值才可控,特別的,對p的第一次人為賦值,稱為初始化。
舉例來說:
(1)&i:就是i的位址。其實也是乙個數值,只是省了你自己查詢i位址的麻煩。
(2)i:如是i是乙個整型變數,並且其數值作為位址是有意義的,就可以
(3)null:就是0。0作為位址可以嗎?當然可以。寫成int *p=0也一樣。
指標與C 基本原理
物件導向程式設計與傳統的過程性程式設計的區別在於,oop強調的是在執行階段 而不是編譯階段 進行決策。執行階段指的是程式正在執行時,編譯階段指的是編譯器將程式組合起來時。執行階段決策就好比度假時,選擇參觀那些景點取決於天氣和當時的心情 而編譯階段決策更像不管在什麼條件下,都堅持預先設定的日程安排。執...
mysql的基本原理 Mysql 基本原理
mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...
分頁基本原理 c
分頁是web應用程式非常重要的乙個技術。資料庫中的資料可能是成千上萬的,不可能吧這麼多的資料一次顯示在瀏覽器上面。一般根據每行資料在頁面上所佔的空間每頁顯示若干行,比如一般20行是乙個比較理想的顯示狀態。分頁方法主要有以下兩種思路 1 取出所有符合條件的資料,放到資料集或者記憶體中,然後逐頁瀏覽。例...