c++ 与 数据结构的学习笔记---欢迎大家指点

来源:互联网 发布:魁北克大学排名知乎 编辑:程序博客网 时间:2024/04/29 17:34

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

声明指向公有数据成员的指针
类型说明符  类名::*指针名;
声明指向共有函数成员的指针
类型说明符  (类名::*指针名)(参数表);
指向数据成员的指针


遍历一个树

非递归的方式遍历一棵树

 

说明遍历树的三种基本的方法:递归深度优先算法,非递归深度优先算法,非递归广度优先算法。

原创粉丝点击