1.指针:定义指针变量--->绑定地址--->解引用
2.为什么使用指针?
内存中没有变量名或者函数名,有的只是16进制的数据和地址
3.野指针:未经过初始化的指针;
2)危害:如果随机指向操作系统中地内核中,很危险,会报错
如果指向一个区域,可以使用,而且没有别的变量占用,当改变这片区域的值的时候,结果正确,但有危险.
如果指向存在别的变量,但是你通过指针改变了原有的变量,导致程序出错.
3)如何避免野指针?
定义的同时初始化.
4.C语言中的const关键字
const int a=12;
//int arr[a]={}; 错误 const只能修饰只读变量 ,数组长度应该是常量
//若要改变a的值而且不发生任何的警告:强制类型转化
int *p;
p=(int *)&a;
*p=100;
情况1:
int a=10,b=20;
int * const p1=&a;
//p1=&b; const修饰的是p1,p1不可以改变,但是p1指向地内容可以改变
*p1=b;
情况2:
int a=10,b=20;
int const * p2=&a;
p2=&b;
// *p1=b; p2里面的值不可以改变
情况3:同2:
const int *p3;
情况4:
int a=10,b=20;
const int * p4=&a;
// p2=&b; 全部不可以改变
// *p1=b;