嵌入式学习心得(十一)

    xiaoxiao2021-12-14  21

    一。指针是什么?指针是一个变量。

    &取地址

    *(间接运算符)取值运算符,取指针变量对应空间保存的地址对应的内存空间的值

    二关于步长

    不同的地址长度是一样的,但是步长是不同的,而指针的步长则是指保存的地址类型。

    一维指针,是基本类型变量地址

    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

    最新回复(0)