在谈到C语言的时候,大家的第一印象就是指针很难,不明白指针,不会用指针,指针的概念甚至都搞不懂,那么指针真的有那么难吗?博主会通过两期的讲解让大家先初步认识一下指针,在进阶篇的时候,博主会更加详细的给大家讲解相应的指针知识。
1.指针是什么?
2.指针和指针类型
3.野指针
4.指针运算
指针是什么?
(1)指针是内存中一个最小单元的编号,也就是地址。
(2)平时口语说的指针,通常指的是指针变量,是用来存放内存的。
指针其实就是地址。
指针的大小在32位下是4个字节,在64位下是8个字节。
指针类型的意义:
将指针变量的值改为0,因为是整形的指针变量,所以将4个字节全部改为0,但如果是char*
变量,只会改一个字节为0.
指针类型可以决定指针解引用时候访问多少个字节。
从这可以看出,+1,int型的指针跳过4个字节,char型的指针跳过1个字节。
野指针:
所谓野指针,就是指针指向的位置是不可知的,随机的,不正确的,没有明确限制的。
(1)
(2) 数组下标越界访问
(3)a的空间进入函数创建,出函数还给操作空间。
那么我们如何规避野指针呢?
1.指针初始化
2.小心指针越界
3.指针指向空间释放,及时置NULL
4.避免返回局部变量的地址
5.指针使用之前检查有效性
指针运算
(1)指针加减整数
(2)指针加减指针 由代码可知,得到的数是元素个数 ,相减的前提是两个指针指向同一块空间
这期内容就到这里了哦,看完博主的这篇指针(一),还觉得很难吗?