c++ 與 數據結構的學習筆記---歡迎大家指點

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();

聲明指向公有數據成員的指針
類型說明符  類名::*指針名;
聲明指向共有函數成員的指針
類型說明符  (類名::*指針名)(參數表);
指向數據成員的指針


遍歷一個樹

非遞歸的方式遍歷一棵樹

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章