C语言指针学习

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

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


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


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

拆解指针从右向左

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

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



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


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


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

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
















原文地址:https://www.cnblogs.com/litaiqing/p/4615017.html