指针作用:可以通过指针间接访问内存
1.定义指针
数据类型*指针变量名
int a=10;
int *p;
p=&a;//&a为a的地址值
2.使用指针
*p可以获取到地址值所指向的数据,即a的值
int main() {
int a = 10;
int *p;
p = &a;
cout << &a << endl;
cout << p << endl;
cout << a << endl;
cout << *p << endl;
*p = 1000;
cout << a << endl;
cout << *p << endl;
system("pause");
return 0;
}
输出结果
004FFA88
004FFA88
10
10
1000
1000
空指针:
指针变量指向内存中编号为0的空间
作用:初始化指针变量
空指针指向的内存是不可以访问的
使用:int *p=NULL;
int *p=NULL;
*p=100;
此时运行会报空指针错误,因为空指针指向的内存无法访问
ps:做android开发的时候最不喜欢空指针。。。。。。
野指针:
指针变量指向非法的内存空间
指针和函数:
如果函数传的参数是普通变量,不会修改传入参数的值
如果函数传的参数是指针,可以修改传的参数的值