指针高级(2)

6.数组指针

#include <stdio.h>
int main()
{/*练习:利用指针遍历数组*///1.定义数组int arr[] = { 10,20,30,40,50 };int len = sizeof(arr) / sizeof(int);//2.获取数组的指针//实际上获取的:数组的首地址int* p1 = arr;int* p2 = &arr[0];printf("%d\n", *p1);printf("%d\n", *(p1 + 1));//要是不加( ),相当于先获取到10,再拿着10+1,结果是11//改进:利用循环和指针遍历数组获取里面的每一个元素for (int i = 0; i < len; i++){printf("%d\n", *p1);p1++;//或者改成printf("%d\n",*p1++);}return 0;
}

7.数组指针 的细节

笔记

代码

#include<stdio.h>
int main()
{//1.定义数组int arr[] = { 1,2,3,4,5,6,7,8,9,10 };//2.sizeof运算的时候,不会退化,arr还是整体printf("%zu\n", sizeof(arr));//40//3.&arr获取地址的时候,不会退化,记录的内存地址第一个元素的首地址,也是数组的首地址,步长:数据类型*数组的长度 40//arr参与计算的时候,也会退化为第一个元素的指针,记录的内存地址是第一个元素的首地址,也是数组的首地址,步长:数据类型 int 4printf("%p\n", arr);printf("%p\n", &arr);printf("%p\n", arr + 1);printf("%p\n", &arr + 1);return 0;}

8.利用索引遍历第一种

笔记

代码

#include<stdio.h>
int main()
{//遍历:利用索引就行遍历 / 利用指针进行遍历//1.定义一个二维数组int arr[3][5] ={{1,2,3,4,5},{ 11, 22, 33, 44, 55 },{ 111,222,333,444,555 }};//2.利用索引的方式进行遍历//arr[0]:表示二维数组当中的第一个一维数组,//arr[1]:表示二维数组当中的第二个一维数组,//arr[2]:表示二维数组当中的第三个一维数组for (int i = 0; i < 3; i++){//i:依次表示二维数组中的索引for (int j = 0; j < 5; j++){//j:依次表示一维数组中的索引//内循环:遍历每一个一维数组printf("%d ", arr[i][j]);}//当内循环结束之后,表示一位数组遍历完毕了printf("\n");}return 0;}

9.利用索引遍历第二种

#include <stdio.h>
int main()
{//1.定义三个一维数组int arr1[3] = { 1,2,3 };int arr2[5] = { 1,2,3,4,5};int arr3[9] = { 1,2,3,4,5,6,7,8,9 };//预先计算每一个数组的真实长度int len1 = sizeof(arr1) / sizeof(int);int len2 = sizeof(arr2) / sizeof(int);int len3 = sizeof(arr3) / sizeof(int);//再定义一个数组,装所有数组的长度int lenArr[3] = { len1,len2,len3 };//把三个一维数组放入到二维数组当中//数组的数据类型,跟内部存储的元素类型保持一致//arr1:使用数组名进行计算的时候,退化为指向第一个元素的指针,此时不再表示数组的那个整体了//指针----内存地址  64位win  8个字节int* arr[3] = { arr1,arr2,arr3 };//利用索引遍历arrfor (int i = 0; i < 3;i++){//i.依次表示二维数组的索引 0 1 2for (int j = 0; j < lenArr[i]; j++){printf("%d", arr[i][j]);}printf("\n");}return 0;}

10.利用指针遍历第一种

笔记

代码

#include <stdio.h>
int main()
{/*二维数组利用指针遍历二维数组*///1.定义一个二维数组int arr[3][5] ={{1,2,3,4,5},{11,22,33,44,55},{111,222,333,444,555}};//2.利用指针遍历二维数组//获取二维数组的指针//数组指针的数据类型:要跟数组内部元素的类型保持一致//二维数组里面存储的是一维数组int[5]int(*p)[5] = arr;for (int i = 0; i < 3; i++){//遍历一遍数组for (int j = 0; j < 5; j++){printf("%d ", *(*p + j));}//换行printf("\n");//移动二维数组的指针,继续遍历下一个一维数组p++;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/97828.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/97828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何高效记单词之:抓住首字母——以find、fund、fond、font为例

find、fund、fond、font这几个单词&#xff0c;你都认识吗&#xff1f;这几个单词&#xff0c;意思大体如下&#xff1a; find v.找到&#xff1b;发现fund n.基金fond a.喜欢的&#xff1b;喜爱的&#xff1b;深情的font n.字体&#xff0c;字型&#xff0c;字形 这几个单词在…

Ubuntu下把 SD 卡格式化为 FAT32

在 Ubuntu 下把 SD 卡格式化为 FAT32&#xff0c;按下面做&#xff08;会抹掉整卡数据⚠️&#xff09;&#xff1a; 1) 找到你的 SD 卡设备名 lsblk -p记下整盘设备&#xff0c;比如 /dev/sdb&#xff08;USB 读卡器常见&#xff09;或 /dev/mmcblk0&#xff08;内置读卡器&am…

涉私数据安全与可控匿名化利用机制研究(上)

文章目录前言一、涉私数据的概述及分类&#xff08;一&#xff09;涉私数据的“知情同意原则”&#xff08;二&#xff09;涉私数据的分类二、涉私数据可控匿名化利用机制&#xff08;一&#xff09;数据产品与涉私数据的利用形式&#xff08;二&#xff09;通过可信数据空间受…

Redis 的跳跃表:像商场多层导航系统一样的有序结构

目录 一 、从 "超市货架" 的痛点看跳跃表的价值 1.1、跳跃表与商场导航系统的结构对应 1. 1.1、zskiplistNode&#xff1a;带导航标记的 "商品"&#xff08;跳跃表节点&#xff09; 1.1.1.1、level []&#xff1a;商品上的多层导航标记 1.1.1.2、back…

小程序点击之数据绑定

<return /><view class"all-wrap" style"padding-top:{{topHeight}}px;"><view class"my-title">我的收藏</view><scroll-viewclass"collect-list-container"scroll-yscroll-top"{{scrollTop}}"…

数据结构——顺序表和单向链表(2)

目录 前言 一、单向链表 1、基本概念 2、单向链表的设计 &#xff08;1&#xff09;节点设计 &#xff08;2&#xff09;初始化空单向链表 &#xff08;3&#xff09;、初始化数据节点 &#xff08;4&#xff09;数据节点 &#xff08;5&#xff09;判断链表是否为空 …

More Effective C++ 条款26:限制某个类所能产生的对象数量

More Effective C 条款26&#xff1a;限制某个类所能产生的对象数量核心思想&#xff1a;通过控制类的实例化过程&#xff0c;限制程序中该类的对象数量&#xff0c;可以防止资源过度使用&#xff0c;确保系统资源合理分配&#xff0c;并实现单例或有限实例模式。 &#x1f680…

CMS系统维护中常见的安全威胁及防护指南!

内容管理系统&#xff08;CMS&#xff09;已成为网站建设的核心工具&#xff0c;但随之而来的安全风险却常被低估。超过70%的网站使用CMS构建&#xff0c;而其中近半数曾遭遇安全漏洞威胁。作为运维人员和开发者&#xff0c;了解这些安全威胁并采取相应防护措施至关重要。 一、…

springboot knife4j 接口文档入门与实战

Spring Boot3 Knife4j 项目地址https://gitee.com/supervol/loong-springboot-study&#xff08;记得给个start&#xff0c;感谢&#xff09;Knife4j 介绍在国内 Java 开发领域&#xff0c;Knife4j 是一款广受欢迎的 API 文档工具&#xff0c;它基于 OpenAPI 规范&#xff0c;在…

Spring Boot 事务失效的八大原因及解决方案详解

在 Spring Boot 项目开发中&#xff0c;声明式事务管理通过 Transactional 注解提供了极大的便利。但许多开发者都曾遇到过事务不生效的困扰。本文将详细分析导致 Spring Boot 事务失效的八大常见情况&#xff0c;并提供相应的解决方案。1. 数据库引擎不支持事务问题分析&#…

数据结构:顺序栈与链栈的原理、实现及应用

数据结构详解&#xff1a;顺序栈与链栈的原理、实现及应用 1. 引言&#xff1a;栈的核心概念 栈&#xff08;Stack&#xff09;是一种重要的线性数据结构&#xff0c;它遵循后进先出&#xff08;Last In First Out, LIFO&#xff09;的原则。这意味着最后一个被添加到栈中的元素…

apipost 8.x 脚本循环调用接口

apipost 8.x 脚本循环调用接口背景实现先说整体逻辑&#xff1a;最后背景 上周为了找某OA 偶尔出现的诡异现象&#xff0c;需要用测试工具来压测&#xff0c;看看这个问题能否重现。以前用过Jmeter&#xff0c;但是没有装&#xff0c;正好有个国产的apipost看看如何&#xff1…

STM32 - Embedded IDE - GCC - 使用 GCC 链接脚本限制 Flash 区域

导言如上所示&#xff0c;Keil限制flash区域只需要在IROM1里将Start框框与Size框框填入具体信息即可。比如bootloader程序一般从0x8000000开始&#xff0c;大小0x10000&#xff08;64KB&#xff09;。此时&#xff0c;flash的范围被限制在0x8000000 ~ 0x800FFFF。 另外&#xf…

Jenkins和Fastlane的原理、优缺点、用法、如何选择

Jenkins 和 Fastlane 是软件开发中用于自动化流程的工具一、Jenkins实现自动化打包1.1具体实现步骤安装与配置&#xff1a;首先在服务器上安装 Jenkins&#xff0c;可以通过官方提供的安装包进行安装&#xff0c;支持多种操作系统。安装完成后&#xff0c;通过 Web 界面进行初始…

DOM常见的操作有哪些?

1.DOM文档对象模型&#xff08;DOM&#xff09;是HTML和XML文档的编程接口它提供了对文档结构化表述&#xff0c;并定义了一种方式可以使从程序中对该结构进行访问&#xff0c;从而改变文档的结构&#xff0c;样式和内容任何HTML或XML文档都可以用DOM表示一个由节点构成的层级结…

【Kubernetes】知识点3

25. 说明Job与CronJob的功能。答&#xff1a;Job&#xff1a;一次性作业&#xff0c;处理短暂的一次性任务&#xff0c;仅执行一次&#xff0c;并保证处理的一个或者多个 Pod 成功结束。CronJob&#xff1a;周期性作业&#xff0c;可以指定每过多少周期执行一次任务。26. Kuber…

LINUX-网络编程-TCP-UDP

1.目的&#xff1a;不同主机&#xff0c;进程间通信。2.解决的问题1&#xff09;主机与主机之间物理层面必须互相联通。2&#xff09;进程与进程在软件层面必须互通。IP地址&#xff1a;计算机的软件地址&#xff0c;用来标识计算机设备MAC地址&#xff1a;计算机的硬件地址&am…

目标检测定位损失函数:Smooth L1 loss 、IOU loss及其变体

Smooth L1 Loss 概述 Smooth L1 Loss&#xff08;平滑 L1 损失&#xff09;&#xff0c;是一个在回归任务&#xff0c;特别是计算机视觉中的目标检测领域&#xff08;如 Faster R-CNN, SSD&#xff09;非常核心的损失函数。 xxx 表示模型的预测值&#xff0c;yyy 表示真实值&am…

Android开发之fileprovider配置路径path详细说明

第一步在清单文件配置fileprovider属性<providerandroid:name"androidx.core.content.FileProvider"android:authorities"${applicationId}.fileprovider"android:exported"false"android:grantUriPermissions"true"><meta-d…

【ComfyUI】图像描述词润色总结

在 ComfyUI 的工作流中&#xff0c;图像反推描述词能帮我们从图像里抽取语义信息&#xff0c;但这些原始描述往往还显得生硬&#xff0c;缺乏创意或流畅性。为了让提示词更自然、更有表现力&#xff0c;就需要“润色”环节。润色节点的任务&#xff0c;不是重新生成描述&#x…