当前位置: 首页 > news >正文

指针知识点

1.内存可以分为大量内存单元,一个内存单元大小为8个比特位,每个内存单元都有一个编号,这个编号就是指针。(一栋大房子,有很多房间,每个房间可以住8个人,房间编号就是指针,也是地址)
只有嵌入式的地址是实际物理空间,其余是假象的

2 取地址操作符
& 用于取出字符地址
#include<stdio.h>
int main()
{ int a=10;
&a;
printf (“%p\n”,&a);
return 0;
}

3 指针变量
用于存放地址的一种变量
例:int *pa=&a;
这个就是把a的地址存放到pa中
这也是用&a给pa初始化
(&a是读出的地址)

全部变量(int &pa)
int main()
{ int a=0;
int &pa=NULL;
retur 0;
}
此时相当于pa没有存放地址,可以之后再存

但是:如果是局部变量,&a在一个小函数内,
此时int &pa是一个未知数,也叫做野函数,不可以强行使用

4 理解指针类型
int a=10;
int *pa=&a;
这里**说明pa对应·指针变量,但int对应的是pa的类型,总说是一个整型的地址

5 解引用操作符
#include<stdio.h>
int main()
{ int a=10;
int *pa=&a;
pa=0;
return 0;
}
这里
pa是通过pa中存放的地址,找到a,将a赋值为10(找到门牌号,然后客人)

6 指针的大小
例 printf(“%zd\n”,sizeof(int*))
1字节=8比特
32平台下地址是32比特,4字节
64平台下地址是64比特,8字节
指针变量的大小只与平台有关

指针解引用
例: int *pi=&a;
*pi=0;

char *pi=(char)&a; *pi=0;

前者可以把4个字节改为0,但后者只可以改一个,这是不同类型对解引用符的作用权限。

总结一下:
指针变量的大小只与平台有关
指针对解引用操作符的权限与指针类型有关

7.指针加减整数
指针类型决定了指针向前或向后的距离
但指针必须跨越与自己同类型的距离

char*+1 向前走1个长度
int*+1向前走4个长度

8.void指针
专门用于接收不同类型的地址
void
pa=10;
viod*pc=10;

pc和pa

9.指针加减指针
指针加减指针=整数
指针加减整数=指针
F2897-2=F2895
指针加减指针的结果绝对值是指针间元素的个数
(必须在同一个内存)
#include<stdio.h>
int main()
{int arr[5]={1,2,3,4,5}
printf(“%d\n,”&arr[4]-&arr[2])
return 0;
}
这里&arr[4]-&arr[2]便是指针加减指针

10.指针的大小
本质:一个数值
用数组举例

先明确一个点:p这个存的·是地址
*p这个即使指针符号,也是解引用,取数组里的数

#include<stdio.h>
int main()
{int arr[5]={1,2,3,4,5};
int *p=&arr;
int sz=sizeof(arr)/sizeof(arr[0]);
while(p<=&arr[sz]) 这个地方就是用·了·指针的比较
{printf(“%d\n”,*p);
p++;
}
return 0;
}

11.传值调用和传址调用
前者相当与给复印件,不给原稿
但后者相当于直接给原稿
前者实参不改变形参,改不了原值
但后者可以给实参

传值调用
void eaxple(int x,int y)
{int tmp=x; \这里已经定义了x是int,一个变量只能定义一次
x=y;
y=tmp;\左边是变量,右边是赋值量,int tmp已知,为赋值量
}
这种情况无返回值

传址调用
#include<stdio.h>
void eaxple(int x,int y)
{int *tmp=& x;
&x=&y;
&y=*tmp;
}
这样才打开房门,把数值传过去

一个是把门牌改变,里面数值不变
一个是打开房门,改数值
后者才可以建立函数与主函数的关系

12.二级指着
用来存放一级指针的指针变量
**ppa用来存放pa的指针变量,访问pa

http://www.jsqmd.com/news/1379492/

相关文章:

  • 泉州经济技术开发区新房除甲醛哪家专业?多维度测评本地甲醛治理机构,鑫天成环保深度解析 - 专注室内空气检测治理
  • FIFA 23实时编辑器:打造属于你的终极足球世界
  • x86保护模式入门:从实模式到GDT的硬件级内存保护机制
  • Unity UGUI游戏设置界面开发全流程:从数据绑定到性能优化
  • 2026福建公考机构实力横评:粉笔本地化与AI驱动领跑,华图中公燃领优公学昊各具优势 - 资讯综合
  • 2026年航空航天业问题优化:数造科技陶瓷3D打印行业场景实战派 - GrowthUME
  • 香港公司真实地址挂牌流程2026年 - 资讯综合站
  • 2026宁波防水补漏检测维修哪家正规 无隐形消费商家选择指南 - 滚动商讯
  • 30分钟用SpringBoot集成DeepSeek API构建AI聊天机器人
  • HoRNDIS:在3分钟内解决Mac与安卓USB网络共享的终极方案
  • CTF_Day2
  • GB/T 2423.17-2024《环境试验 第 2 部分:试验方法 试验 Ka:盐雾》新版标准完整解读(替代 2008 版)
  • Unity高效加载与播放GIF动画:从解码原理到性能优化实战
  • 库存成本核算5大方法:先进先出、加权平均一次讲透!
  • 浙江初三复读什么学校好?省内三所主流中考复读院校客观盘点 - 品牌测评网
  • 2026年中山市场口碑不错的GEO优化公司有哪些 - 甄选测评馆
  • C++虚继承构造函数调用链与内存布局深度解析
  • Git仓库完整迁移指南:镜像克隆、远程修改与历史重构
  • 2026年南京旅行社前十名:纯玩南京二日游旅行社,资质齐全中老年慢游跟团游实力测评 - 跟我去旅游
  • @Transactional 注解怎么用?
  • 火狐渗透版禁用JS破解CTF无限刷新难题
  • 霍邱中央空调品牌推荐:松下纳诺怡除醛+自有团队安装,8年服务近2000户的本地之选 - 滚动商讯
  • TrollInstallerX终极指南:iOS 14-16.6.1系统漏洞利用与TrollStore安装器
  • 第19届成图大赛国赛复盘:从CAD建模到创新设计的实战指南
  • 猫抓浏览器扩展:你的智能网页资源管家,轻松捕获一切在线媒体
  • 非线性磁链模型在无感FOC中的应用:原理、实现与开源库实战
  • Systemd 学习总结
  • 2026鲜蛋桃酥哪个牌子好?全品类正规品牌盘点、服务商选型标准及合作避坑指南 - 商业大观
  • 彻底解决Chrome WebDriver进程残留:从原理到实战的完整指南
  • 技术项目管理新思路:黑马白马分队策略如何激发团队创新与效率