c 與 資料結構的學習筆記 歡迎大家指點

2021-05-23 09:24:12 字數 1490 閱讀 3781

typedef

#define max 26

????

?????auto??????static??

空指標儲存型別 資料型別 *指標名= 初始位址;

void *general;

指向常量的指標:不能通過指標來改變所指物件的值,但指標本身可以改變,可以指向另外的物件。

char *name1 = "john";

const char *name2 = "john";

指標型別的常量

char *const name2 = "john";

name2 = "abc";//wrong 指標常量不能被修改

指向陣列的指標:int a[10], *pa; pa = &a[0]; or pa = a;

指標陣列:陣列的元素是指標型別 point *pa[2];

void func1(myclass *&pbuildingelement);

為什麼:不要用乙個內部auto變數去初始化static指標

指標名==位址

位址中存放的資料型別與指標型別必須相符

指標的型別是它所指向變數的型別,而不是指標本身資料值的型別。任何乙個指標本身的資料值都是unsigned long int型別

向指標變數賦的值必須是位址常量或變數,不能是普通整數。但可以賦值整數0,表示空指標。

允許宣告指向void型別的指標。指標可以被賦值任何型別物件的位址。

void *general;

指向常量的指標

const char *point = "john";

指標型別的常量

char *const name = "john";

陣列名是常量

指標型別的常量

char *const name2 = "john";

指標型的函式

當函式的返回值是位址時,該函式就是指標型函式

宣告形式:

儲存型別 資料型別 *函式名()

指向函式的指標

宣告形式:

儲存型別 資料型別 (*函式指標名)();

資料指標指向資料儲存區, 而函式指標指向的是程式**儲存區。

void (*function_pointer)(float, int);

物件指標的宣告方式:

類名  *物件指標名;

point a(5,10);

point *prt;

ptr = &a;

通過指標訪問物件成員

物件指標名->成員名

ptr->getx() 相當於 (*prr).getx();

宣告指向公有資料成員的指標

型別說明符  類名::*指標名;

宣告指向共有函式成員的指標

型別說明符  (類名::*指標名)(參數列);

指向資料成員的指標

遍歷乙個樹

非遞迴的方式遍歷一棵樹

說明遍歷樹的三種基本的方法:遞迴深度優先演算法,非遞迴深度優先演算法,非遞迴廣度優先演算法。

c 資料結構學習筆記

c 資料結構學習筆記 1 關於類的建構函式 在建構函式前加上explict關鍵字 就可以使建構函式只可以顯式呼叫,而不可以隱式呼叫。下面的例子說明的很清楚 classtest1 普通建構函式 private int num classtest2 explicit 顯式 建構函式 private in...

資料結構C 描述學習筆記

資料結構c 描述,介紹類建立的方法和技巧,對rcv專案要針對各個類建立對應表,繼承關係和方法實現寫清楚。工具 excel 軟體開發過程 問題分析和功能定義,物件技巧處理設計,編碼,測試和維護,軟體工程 基本概念 類 由多個存放資料值的成員和加工資料的運算組 方法 類分公共部分和私有部分,公共部分描述...

資料結構學習筆記 2 資料結構與演算法

四.演算法設計的要求 五.演算法效率的度量方法 六.函式的漸近增長 七.演算法時間複雜度 八.常見的時間複雜度 九.最壞情況與平均情況 十.演算法空間複雜度 資料結構是底層,演算法高層。資料結構為演算法提供服務。演算法圍繞資料結構操作。演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序...