·初识指针
指针就是内存地址。
For example:
#include <iostream> using namespace std; int main() { int a = 10; int* p; p = &a; cout << p << endl; cout << *p << endl; cout << sizeof(p) << endl; }
输出:
这里就涉及了几个概念~ &是取址符,*是寻址符。*p先定义一个指针,此后&a会返回a的内存地址。而*p叫解引用,如“输出”的图所示,它返回了a的值10。
·空指针
指向为内存地址编号为0的内存空间。
For example:
int *p=NULL;
用处?初始化指针变量。
重要:空指针指向的内存地址不可访问。why?0~255之间的编号为系统占用!
·野指针
指向非法内存空间的指针。
For example:
int* p=(int *)0x5456;
(int *)?强制类型转换。
正如我们都不喜欢野小孩一样,写代码的时候也要避免出现这样的野指针!~