1.指针是什么?
指针就是变量,用来存放地址的变量。
2.指针的大小
在32位的机器上,地址是32个0或者1组成二进制序列,那地址就得用4个字节的空间来存储,所以一个指针变量的大小就应该是4个字节;
在64位机器上,那一个指针变量的大小是8个字节,才能存放一个地址。
3.指针和指针类型
指针的定义方式是:type + *;
例:char*类型的指针存放char类型变量的地址。
short*类型的指针存放short类型变量的地址。
3.1指针+-整数
对指针加1是加上其所指向类型的大小,即sizeof(type);
指针的类型决定了指针向前或向后走一步有多大距离;
3.2指针的解引用
解引用是返回内存地址中对应的对象。
注:指针的类型决定了,对指针解引用的时候有多大的权限(能操作几个字符)。
例: char*的指针解引用就只能访问一个字节。
4.野指针
指向位置不可知的指针为野指针;
4.1野指针成因
1.指针为初始化
2.指针越界访问
3.指针指向的空间释放