一。指针是什么?指针是一个变量。
&取地址
*(间接运算符)取值运算符,取指针变量对应空间保存的地址对应的内存空间的值
二关于步长
不同的地址长度是一样的,但是步长是不同的,而指针的步长则是指保存的地址类型。
一维指针,是基本类型变量地址
int num = 5;
int *p;
p = #
int *p = #
num++;对num对应的内存空间的值自加1
p++ 对p对应的内存空间的值自加1
(*p)++ 对应指向的内存空间值加1
指向的内存空间:就是这个指针变量对应内存空间里保存的地址对应的内存空间,我们称之为指向的内存空间
三。指针的使用技巧和注意事项
int *p;
scanf("%d",p)保存在p指向的空间
随机指向一块内存的指针----野指针
造成错误,容易造成内存泄露
如何避免野指针?
养成良好的编码行为,如下:
1当一个指针没有指向,让它指向NULL,(在操作系统中不允许对0地址对应空间进行操作)
2当向这个指针指向空间中赋值,给这个指针分配空间
3.当给一个指针分配完空间,要去检查是否分配成功,
4分配成功后对内存初始化
5用完之后要释放(free)
6.释放之后再次置空。
转载请注明原文地址: https://ju.6miu.com/read-971657.html