指针
double dvalue; double *dtval=&dvalue; //初始值是 地址 double *dtpnt=dtval; // 初始值是 指针
空指针、野指针。
int *p=0 //合法
引用(一定要被初始化,而且不是对象,不能定义引用的引用)
int ival=1024; int &refVal= ival;
书写习惯的差异而已:
int* p1,p2 //p1是指针,p2是int型 int *p1 与之等价啦
指向指针的指针
int i=0; int *pi=&i; int **ppi=π
不存在指向 引用 的 指针
但存在指向 指针 的 引用
int i=911; int *p; inr *(&r)=p; //r是指向指p的引用 r=&i; //即 令p指向i *r=0;// 将p所指的对象,即i=0
const变量:定义为仅在文件内有效 但不同的文件中出现了同名的const变量,==在不同文件中定义了独立的变量
(目测复试时被老师问过这个。。当时脑子没转过来。之前用到过)
extern 可以帮助解除这个烦恼,实现共享。
const 指针,==指针是对象 double pi=3.14159 double *const pip=π // 指针pip 是一个常量指针 能否修改所指对象的值与pip无关,只依赖于所指对象的类型。
//这是 顶层const,pip指针本事是个常量
介绍了一个限定符constexpr,指针时,仅仅对指针有效,对指针所指的对象无影响。P60
typedef 别名
typedef double wage; typedef double base ,*p; //表示base=double ,p=double*
typedef与const的结合
typedef char *pstring; //即pstring=char* const pstring cstr=0; //这相当于* const p 而不是const *p //表明cstr是常量指针,而非指向常量字符的指针 我的“理解”是const 指针 cstr=0
预处理器的概念:
#ifndef A_H // 如果没有定义 #define A_H //那就定义呗 ........ #endif //判断结束咯
明天开始变难了。。我可能就不看了。哼哼。先保存一篇吧。。
哈哈。。。睡觉觉去咯。
浙公网安备 33010602011771号