20.指针相关知识点1
指针相关知识点1
- 1.定义一个指针变量指向数组
- 2.指针偏移遍历数组
- 3.指针偏移的补充
- 4.指针和数组名的见怪不怪
- 5.函数、指针、数组的结合
1.定义一个指针变量指向数组
-
指向数组首元素的地址
-
指向数组起始位置:等于数组名
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p;p = &arr[0];//数组的首地址就是首个元素的地址//p = arr;//数组名就是数组的首地址printf("首元素:%d\n",*p); }
2.指针偏移遍历数组
-
指针增量和数组的关系
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p;p = &arr[0];printf("0元素:%d\n",*p);printf("1元素:%d\n",*(p+1));//P+1:地址偏移了一个类型的字节数printf("1元素:%d\n",*(p+2)); }
-
指针的方式来遍历数组
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p;p = arr;for(int i = 0;i<3;i++){printf("%d\n",*(p+i));}}
-
指针的方式来打印地址
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p;p = arr;for(int i = 0;i<3;i++){printf("%p\n",(p+i));}}
-
通过指针引用数组元素
- 下表法
- 指针法
- 偏移
- 去内容
- 两种方式的对比
3.指针偏移的补充
-
再次进行循环记得回到数组首地址
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p;p = arr;for(int i = 0;i<3;i++){printf("%d\n",*p);p++;}p = arr;//再次通过指针变量进行遍历输出//记得重新让指针回到数组的首元素for(int i = 0;i<3;i++){printf("%d\n",*p);p++;}}
4.指针和数组名的见怪不怪
-
指针当作数组名,下标访问
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p = arr;printf("数组的首地址:%d\n",*p);//数组的首地址printf("下标访问:%d",p[2]);//下标访问 }
-
循环遍历下标访问
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p = arr;for(int i = 0;i<3;i++){printf("%d\n",p[i]);} }
-
数组名拿来加
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p = arr;for(int i = 0;i<3;i++){//printf("%d\n",*(p+i));printf("%d\n",*(arr+i));} }
-
数组名和指针的区别
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p = arr;for(int i = 0;i<3;i++){printf("%d\n",*p++);} }
-
注意的点
-
指针常量不能++:原因是地址在内存空间已经固定住了
- 比如说数组
-
指针变量可以++:变量→保存的地址是可以改的
#include <stdio.h>int main(){int arr[3] = {1,2,3};int *p = arr;printf("sizeof is %d\n",sizeof(arr));//3*4=12printf("sizeof is %d\n",sizeof(p));//操作系统8个字节表示一个地址(操作系统的不同会有变化)printf("sizeof is %d\n",sizeof(int *));//只要是指针都是8个字节(操作系统的不同会有变化) }
-
5.函数、指针、数组的结合
#include <stdio.h>void init(int *arr,int size){int i;for(i=0;i<size;i++){printf("请输入第%i个元素的数据:\n",i+1);scanf("%d",&arr[i]);}
}
void print(int *arr,int size){int i;for(i=0;i<size;i++){printf("%d ",arr[i]);}
}int main(){int arry[5];int size = sizeof(arry)/sizeof(arry[0]);init(arry,size);//传递的实际参数//数组首地址:数组名,首个元素的地址print(&arry[0],size);return 0;
}
相关文章:
20.指针相关知识点1
指针相关知识点1 1.定义一个指针变量指向数组2.指针偏移遍历数组3.指针偏移的补充4.指针和数组名的见怪不怪5.函数、指针、数组的结合 1.定义一个指针变量指向数组 指向数组首元素的地址 指向数组起始位置:等于数组名 #include <stdio.h>int main(){int ar…...
PFC和LLC的本质和为什么要用PFC和LLC电路原因
我们可以用电感和电容的特性,以及电压和电流之间的不同步原理来解释PFC(功率因数校正)和LLC(谐振变换器)。 电感和电容的基本概念 电感(Inductor): 电感是一种储存电能的组件。它的电流变化比较慢,电流在电感中延迟,而电压变化得比较快。可以把电感想象成一个“滞后…...
自定义认证过滤器和自定义授权过滤器
目录 通过数据库动态加载用户信息 具体实现步骤 一.创建数据库 二.编写secutity配置类 三.编写controller 四.编写服务类实现UserDetailsService接口类 五.debug springboot启动类 认证过滤器 SpringSecurity内置认证流程 自定义认证流程 第一步:自定义一个类继承Abstr…...
单节点集群的设置及数据写入
背景:elasticsearch单个node节点写入数据-CSDN博客 单个节点数据,如下设置参数, 在单节点集群中,设置 `gateway.recover_after_nodes` 通常是没有意义的,因为单节点集群只有一个节点,无法满足 `gateway.recover_after_nodes` 的条件。然而,如果你仍然想在单节点集群中…...
【Linux学习】【Ubuntu入门】1-2 新建虚拟机ubuntu环境
1.双击打开VMware软件,点击“创建新的虚拟机”,在弹出的中选择“自定义(高级)” 2.点击下一步,自动识别ubuntu光盘映像文件,也可以点击“浏览”手动选择,点击下一步 3.设置名称及密码后…...
自动驾驶系列—自动驾驶MCU架构全方位解析:从单核到多核的选型指南与应用实例
🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…...
基于单片机多功能称重系统设计
** 文章目录 前言概要功能设计设计思路 软件设计效果图 程序文章目录 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对…...
PWA(Progressive web APPs,渐进式 Web 应用): manifest.json、 Service Worker
文章目录 引言I 什么是 PWA功能特性技术上分为三个部分安装应用II Web 应用清单将Web 应用清单文件链接到站点manifest.json字段说明III Service Worker( 缓存管理)IV 结合构建工具让项目支持 PWA应用使用插件vite-plugin-pwaworkbox-webpack-plugin插件扩展知识将 PWA 作为脱机…...
【学习笔记】手写 Tomcat 八
目录 一、NIO 1. 创建 Tomcat NIO 类 2. 启动 Tomcat 3. 测试 二、解析请求信息 三、响应数据 创建响应类 修改调用的响应类 四、完整代码 五、测试 六、总结 七、获取全部用户的功能 POJO 生成 POJO 1. 在 Dao 层定义接口 2. 获取用户数据 3. 在 Service 层定…...
24年九月份生活随笔
九月份最后一天,烈士纪念日。 上午看了一会儿直播,庄重的仪式,铭记先辈为新中国抛头颅洒热血,当今盛世,如您所愿。 郑州马拉松官方通告,今天十点公布直通,中签,候补结果。 看完直…...
[含文档+PPT+源码等]精品大数据项目-基于Django实现的高校图书馆智能推送系统的设计与实现
大数据项目——基于Django实现的高校图书馆智能推送系统的设计与实现背景,可以从以下几个方面进行详细阐述: 一、信息技术的发展背景 随着信息技术的飞速发展和互联网的广泛普及,大数据已经成为现代社会的重要资源。在大数据背景下…...
Leecode刷题之路第七天之整数反转
题目出处 07-整数反转 题目描述 个人解法 思路: 1.将整数转换为字符串 2.倒序输出字符串 3.兼容负数case 代码示例:(Java) public int reverse(int x) {Integer integer new Integer(x);String s integer.toString();Strin…...
SpringBoot项目 | 瑞吉外卖 | 短信发送验证码功能改为免费的邮箱发送验证码功能 | 代码实现
0.前情提要 之前的po已经说了单独的邮箱验证码发送功能怎么实现: https://blog.csdn.net/qq_61551948/article/details/142641495 这篇说下如何把该功能整合到瑞吉项目里面,也就是把原先项目里的短信发送验证码的功能改掉,改为邮箱发送验证…...
Windows暂停更新
目录 前言注册表设定参考 前言 不想Windows自动更新,同时不想造成Windows商店不可用,可以采用暂停更新的方案。 但是通过这里设定的时间太短了,所以我们去注册表设定。 注册表设定 win r 输入 regedit进入注册表 HKEY_LOCAL_MACHINE\SOFT…...
alpine安装docker踩坑记
文章目录 前言错误场景正确操作最后 前言 你好,我是醉墨居士,最近使用alpine操作系统上docker遇到了一些错误,尝试解决之后就准备输出一篇博客,帮助有需要的后人能够少踩坑,因为淋过雨所以想给别人撑伞 错误场景 我…...
使用openpyxl轻松操控Excel文件
目录 1. openpyxl 简介2. 安装与快速入门2.1 安装 openpyxl2.2 快速创建一个 Excel 文件2.3 读取 Excel 文件 3. openpyxl 的核心概念3.1 工作簿(Workbook)3.2 工作表(Worksheet)3.3 单元格(Cell)3.4 行与列…...
指定PDF或图片多个识别区域,识别区域文字,并批量对PDF或图片文件改名
常见场景 用户有大量图片/PDF文件,期望能按照图片/PDF中的某些文字对图片/PDF文件重命名。期望工具可以批量处理、离线识别(保证数据安全性)。手工操作麻烦。具体场景:用户有工程现场照片,订单,简历等PDF或…...
Web3中的跨链技术:实现无缝连接的挑战
Web3的到来为互联网带来了去中心化的愿景,而跨链技术则是实现这一愿景的关键。跨链技术旨在解决不同区块链之间的互操作性问题,使得用户和应用能够在多个区块链网络之间无缝地传输数据和价值。尽管这一技术具有广阔的前景,但在实现过程中仍面…...
词袋(Bag of Words, BoW)
词袋(Bag of Words, BoW)模型详解 词袋(BoW)是一种用于文本处理的特征提取方法,常用于自然语言处理(NLP)任务中。在BoW模型中,文本被表示为一个词的无序集合,而忽略了词…...
HTTP Status 404 - /brand-demo/selectAllServlet错误解决原因-Servlet/JavaWeb/IDEA
检查xml文件的包名有无错误检查html文件的url有无写错,是否与Servlet的urlPatterns一致检查Servlet的urlpattern有没有写错(如写成name),检查doPost、doGet是否正常运行 注:IDEA新建Servlet时,默认的WebServlet注解中name需要改urlPatterns&…...
宁夏众智科技OA办公系统存在SQL注入漏洞
漏洞描述 宁夏众智科技OA办公系统存在SQL注入漏洞 漏洞复现 POC POST /Account/Login?ACTIndex&CLRHome HTTP/1.1 Host: Content-Length: 45 Cache-Control: max-age0 Origin: http://39.105.48.206 Content-Type: application/x-www-form-urlencoded Upgrade-Insecur…...
Spring邮件发送:配置与发送邮件详细步骤?
Spring邮件发送教程指南?怎么用Spring邮件发送服务? Spring框架提供了强大的邮件发送支持,使得开发者能够轻松地在应用程序中集成邮件发送功能。AokSend将详细介绍如何在Spring应用中配置和发送邮件,帮助开发者快速掌握这一关键技…...
iPhone/iPad技巧:如何解锁锁定的 iPhone 或 iPad
“在我更新 iPhone 上的软件后,最近我遇到了iPhone 被锁定到所有者的消息,该如何解决?” 根据我们的研究,许多用户在 iOS 18 更新或恢复出厂设置后都会遇到同样的问题。只要出现问题,您就无法使用 iPhone 或 第 1 部分…...
无源码实现免登录功能
因项目要求需要对一个没有源代码的老旧系统实现免登录功能,系统采用前后端分离的方式部署,登录时前端调用后台的认证接口,认证接口返回token信息,然后将token以json的方式存储到cookie中,格式如下: 这里有…...
大数据毕业设计选题推荐-民族服饰数据分析系统-Python数据可视化-Hive-Hadoop-Spark
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...
疾风大模型气象,基于气象数据打造可视化平台
引言 随着气象数据的广泛应用,越来越多的行业依赖天气预报与气候分析来做出决策。从农业、航空、能源到物流,气象信息无时不刻影响着各行各业的运作。然而,气象数据本身复杂且多样,如何将这些数据转化为直观、易于理解的图形和信…...
PHP安装后Apache无法运行的问题
问题 按照网上教程php安装点击跳转教程,然后修改Apache的httpd.conf文件,本来可以运行的Apache,无法运行了 然后在"C:\httpd-2.4.62-240904-win64-VS17\Apache24\logs\error.log"(就是我下载Apache的目录下的logs中&am…...
[论文精读]Multi-Channel Graph Neural Network for Entity Alignment
论文网址:Multi-Channel Graph Neural Network for Entity Alignment (aclanthology.org) 论文代码:https:// github.com/thunlp/MuGNN 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&a…...
Study-Oracle-10-ORALCE19C-RAC集群搭建(一)
一、硬件信息及配套软件 1、硬件设置 RAC集群虚拟机:CPU:2C、内存:10G、操作系统:50G Openfile数据存储:200G (10G*2) 2、网络设置 主机名公有地址私有地址VIP共享存储(SAN)rac1192.168.49.13110.10.10.20192.168.49.141192.168.49.130rac2192.168.49.13210.10.10.3…...
1.8 物理层下的传输媒体
欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 1 导引型传输媒体1.1 双绞线1.2 同轴电缆1.3 光缆 2 非导引型传输媒体2.1 无线电微波通信2.2 多径效应2.3 卫星通信2.4 无线局域网 在数据通信系统中,传输媒体是发…...
wordpress幻灯片尺寸/淮北网络推广
点击上方蓝色字体,选择“设为星标”回复"面试"获取更多惊喜大数据面试提升私教训练营上线Hi,我是王知无,一个大数据领域的原创作者。 放心关注我,获取更多行业的一手消息。摘要:实时数仓以提供低延时数据指标…...
网站建设联系/百度关键词优化怎么做
将以下两句写在php文件的开始处即可:header(Cache-Control:no-cache,must-revalidate,no-store); header(Pragma:no-cache);注:在有些文章中的做法是不添加no-store,我测试多个浏览器仍然缓存,后来加上no-store标签后 就不缓存…...
web模板 免费下载网站/app优化
很多人都知道,前段时间,欧洲一些国家,相继发布了禁售燃油车的时间和计划,全世界似乎都要跨入新能源汽车的时代,发动机是燃油车的心脏,而新能源汽车的心脏,则是动力电池;新能源汽车的…...
网站建设业务文案/推广普通话手抄报图片大全
如下图 :报 Caused by: java.lang.IllegalStateException: SpringJUnit4ClassRunner requires JUnit 4.12 or higher. 有道翻译一下:告诉我们junit测试jar依赖包版本太低了 然后我去查看一下自己的项目pom文件的依赖 发现是4.11版本,于是修改…...
wordpress h5模板/百度代做seo排名
题库来源:安全生产模拟考试一点通公众号小程序 2022年安全员-C证试题是安全员-C证练习题高频考题覆盖!2022安全员-C证考试题模拟考试题库及在线模拟考试依据安全员-C证考试教材。安全员-C证复审模拟考试通过安全生产模拟考试一点通上提前熟悉考试环境。…...
武安做网站/重庆的seo服务公司
laravel中的数据分页方式:$res Db::table(表名)->paginate(每页显示的数量);但是这样所获得的分页链接地址不对,所以还要在添加地址; $res->setPath(地址);注意:地址要在路由中定义渲染页面并加载数据ÿ…...