• C语言指针学习


    数组名实际上就是一个指针,后面的中括号角标实际上是地址的偏移量

    指针 指的是“存储的内容是地址的量”,两个要点:一、指针是个量,对应着一块内存区域,二,指针存储的信息是某个内存单元的地址。
    一个指针4个字节(32位)
    所有指针在32位系统下,都是4个字节,32位


    改变一个变量,需要改变这个变量的地址
    如果变量是数据,就需要指针保存变量的地址
    如果变量是指针,就需要二级指针保存变量的地址


    指针变量在使用之前必须初始化。
    不同类型的指针不能随意转换

    拆解指针从右向左

    二级指针的作用
    1.在函数内改变外部变量的指针
    2.外挂改变一个指针的值

    指针类型的意义是什么
    指针的本质就是一个开始地址。指针类型,确定了从地址开始截取多长,确保如何解析二进制0与1
    函数指针解析为代码,数据指针解析为数据
    按照数据大小截取。



    指针与数组
    数组名就是一个常量指针,数组名[]是变量指针
    数组的本质就是一片连续的内存
    中括号可以根据指针的地址往下找出内容


    C程序分配给全局变量内存后,才启动main函数


    在外挂里面,改变一个数据,需要数据的地址,也就是指针,int 需要int*
    改变一个指针,需要指针的地址,二级指针,int*需要int**
    改变一个二级指针,需要二级指针的地址,三级指针,int**需要int***
    改变一个指向数组的指针,需要指针的地址,数组的首地址
    函数指针,找到地址,进行类型转换,调用函数

    地址,是操作系统管理的,进程的首地址是变动的,变量相对首地址是固定的。
















  • 相关阅读:
    gradle阿里云镜像配置
    tomcat相关
    Oracle通过SQL语句查看table所引用的对象(View/Function/Procedure/Trigger)
    C# 调用NPOI 修改Excel 完成实时更新公式结果
    SpringBoot2.1.6 整合CXF 实现Webservice
    SpringBoot中FreeMarker创建
    git回滚到指定commit
    idea push reject:push mater to origin/master was rejected by remote
    python读取文件
    python获取当前文件路径以及父文件路径
  • 原文地址:https://www.cnblogs.com/litaiqing/p/4615017.html
Copyright © 2020-2023  润新知