c语言学习25二维数组
1 二维数组
1.1二维数组认识
二维数组本质是一个数组。
举例:
int a[10][3]
数组名 a;
元素个数10;
数组元素类型:int [3];
数组元素下标:0~9
这是一个数组,有十个元素,每个元素内有三个数据。
1.2二维数组初始化
1每个元素使用{},中间用逗号间隔,整体再使用{}
int a[2][3]={{1,2,3},{2,3,1}};
可以部分初始化
int a[2][3]={{1,2,3},{2}};//未初始化部分默认为0
可以省略元素个数
int a[][3]={{1,2,3},{2,3,1}};
不能省略元素的数据个数
1.3二维数组具体的数据访问
1.3.1下标方式:
数组具体的数据内容:数组名[i][j];
数组的具体数据地址:&数组名[i][j];
int a[2][3]={{1,2,3},{2,3,1}};
一号元素的一号数据 a[1][1]=3;
0号元素的0号数据a[0][0]=1;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
scanf("%d",a[i][j]);
}
}
二维数组空间存储:每个数据空间连续
1.3.2数组名方式
二维数组数组名的方式访问数组中的具体数据
int a[3][3]={{1,2,3},{4,5,6,},{7,8,9}};
a数组名,数组首元素地址
(a+1): 1号元素的地址
*(a+1):*(a+1)+0 1号元素的0号数据地址
一号元素取内容不是具体数值,是该元素首数据的地址
*(a+1):*(a+1)+1 1号元素的1号数据地址
*a+1 0号元素的1号数据的地址
*(*a+1 ) 0号元素的1号数据的内容
元素取内容不是具体值而是地址,因为元素下还有多个数据
*(*(a+2)+3)二号元素三号数据的内容
1.3.3指针类型
访问数组中的具体数据
指针的方式访问(指向)数组中的具体数据
指针的方式访问(指向)数组中的元素
指针的方式访问(指向)数组
int a[3][3]={{1,2,3},{4,5,6,},{7,8,9}};
int *p;
//p=a;//a是首元素地址,*a是首元素首数据地址
p=&a[0][0];
p++;
1.4二维数组的应用
二维数组:一个数组中有多个数组
一个字符串应该存储在一个字符数组中
一个二维数组可以存储多个字符串
2 数组与指针
2.1指针与数组:
说明
int *a[10];
int (*a)[10];
有括号就是指针没括号就是数组
是指针就以指针的要素分析
是数组就以数组的要素分析
2.2指针数组
说明:数组里的元素都是地址类型:指针数组
int *a[10];
数组名: a
数组元素个数:10
数组元素类型:int *
数组元素下标:0~9
此数组有10个元素,每个元素都可以存一个地址编号,,每个元素相当于一个指针变量
2.3数组指针
(整体操作数组)
指针变量可以存整型变量的地址:整型指针 int *p;
.
.
.
.
指针变量可以存函数的地址:函数指针 int *p;
指针变量可以存数组的地址:数组指针 int *p;
int (*a)[10];
变量名:a
指向对象类型 :int [10];
此指针可以存一个数组的地址编号,要求10元素,每个元素是int类型
int a[10]={10,20,30,40}
int (*m)[10];
m=&a;
m++;//偏移40字节
&a[0]0号元素的地址
a数组首元素地址,0号元素的地址
&a数组的地址
2.3.1数组指针的使用
一维数组
int a[10];
char b[10];
通过指针访问(指向)一维数组中的元素数据
int *p; p=a; //p=&a[0] p++ *p:下一个整型元素值
int *q; q=b; //q=&b[0] q++ *q:下一个整型元素值
char *q;q=b;
通过指针访问(指向)一维数组
①定义一个指针变量
指向对象类型是一个数组 int [10];数组类型 int [10]
②明确指向
p=&a;
③使用:无实际使用价值
二维数组
int a[3][10];
char b[3][10]={"aaa","bbb","ccc"};
指针的方式访问(指向)数组中元素下的具体数据
int *p;p=&a[0][0]; // p++ *p:同元素的下一个整型数据
char *q; q=&b[0][0];// q++ *q:同元素的下一个字符型数据
指针的方式访问(指向)数组中的元素
指针的方式访问(指向)数组
①定义一个指针变量
指向对象类型是一个数组 char [10];
数组类型 char [10];
char(*p)[10];
②明确指向
p=b;
③使用
p++; //下一个元素地址 下一个字符串
需求:主函数有一个指令包,指令包有10个字符串指令,用户输入一个字符串指令
下一个子函数,判定用户输入的字符串指令是否在指令包中,
在返回1,不在返回0;
分析:主函数:
指令包二维数组
用户输入指令字符串
子函数:参数:char(*p)[10],char *m
返回值:int
说明:
和二维数组中,每个字符串进行对比,
#include <stdio.h>
#include <string.ha>
int main(void)
{
u8 val;
char user[10]={0};
char cmd[10][10]={
"aaa","123";"sds","sds","aba","aas","ccc",
}
//用户输入指令
printf("请输入指令");
scaf("%s",a)
//调用函数判断
val=fun(cmd,user);
if(val==1)
{
}
else
{
}
}
int fun( char (*p)[10],char *m)
{
int i;
for(i=0;i<9;i++)
{
if( strcmp(m,(char *)(p+i))==0) ;//指针强转
}
}
相关文章:
c语言学习25二维数组
1 二维数组 1.1二维数组认识 二维数组本质是一个数组。 举例: int a[10][3] 数组名 a; 元素个数10; 数组元素类型:int [3]; 数组元素下标:0~9 这是一个数组,有十个元素,每个元…...
如何理解Lua 使用虚拟堆栈
虚拟堆栈的基本概念 Lua使用虚拟堆栈来实现Lua和C(或其他宿主语言)之间的交互。这个虚拟堆栈是一个数据结构,用于存储Lua的值,如数字、字符串、表、函数等。它在Lua状态机(lua_State)内部维护,为…...
【倍数问题——同余系】
题目 代码 #include <bits/stdc.h> using namespace std; const int N 1e5 10, M 1e3 10; int maxx[M][4]; void consider(int r, int x) {if(x > maxx[r][1]){maxx[r][3] maxx[r][2];maxx[r][2] maxx[r][1];maxx[r][1] x;}else if(x > maxx[r][2]){maxx[…...
「San」监听DOM变化的方法
在 San框架 中监听组件内部字体大小并调整宽度,可以结合 自定义事件 或 数据绑定 来实现动态调整。San 框架没有直接的监听 DOM 尺寸变化的内置方法,但可以通过以下步骤实现: 方法一:使用 ResizeObserver 监听字体变化 在组件的 …...
如何选择服务器
如何选择服务器 选择服务器时应考虑以下几个关键因素: 性能需求。根据网站的预期流量和负载情况,选择合适的处理器、内存和存储容量。考虑网站是否需要处理大量动态内容或高分辨率媒体文件。 可扩展性。选择一个可以轻松扩展的服务器架构,以便…...
嵌入式驱动面试总结
操作系统: 中断的处理流程,中断处理需要注意些什么 软中断和硬中断区别 linux驱动用过那些锁,信号量,互斥锁 自旋锁和互斥锁的区别 二值信号量和互斥信号量有什么区别 进程锁怎么实现的,说一下流程; …...
Uniapp 简单配置鸿蒙
Uniapp 简单配置鸿蒙 前言下载并配置鸿蒙IDEHbuilder X 配置基本的信息生成相关证书登录官网获取证书IDE配置证书添加调试设备可能出现的问题前言 如今鸿蒙的盛起,作为多端开发的代表也是开始兼容鸿蒙应用的开发,接下来我将介绍如何在uniapp中配置鸿蒙。 注意:hbuilder X的…...
线程池的实现与应用
一、线程池 一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,…...
基于Java Springboot单位考勤系统
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…...
近源渗透|HID ATTACK从0到1
前言 对于“近源渗透”这一术语,相信大家已经不再感到陌生。它涉及通过伪装、社会工程学等手段,实地侵入企业办公区域,利用内部潜在的攻击面——例如Wi-Fi网络、RFID门禁、暴露的有线网口、USB接口等——获取关键信息,并以隐蔽的…...
【linux】插入新硬盘如何配置:格式化、分区、自动挂载(Ubuntu)
文章目录 具体方法GPT分区表(GUID Partition Table)(建议都用这种分区方法)MBR分区表方法(最大支持2TB分区)(Master Boot Record) 附加:如何查看硬盘的型号另外ÿ…...
YOLOv8-ultralytics-8.2.103部分代码阅读笔记-block.py
block.py ultralytics\nn\modules\block.py 目录 block.py 1.所需的库和模块 2.class DFL(nn.Module): 3.class Proto(nn.Module): 4.class HGStem(nn.Module): 5.class HGBlock(nn.Module): 6.class SPP(nn.Module): 7.class SPPF(nn.Module): 8.class C1(nn.M…...
代码随想录算法训练营第五十三天|Day53 图论
字符串接龙 https://www.programmercarl.com/kamacoder/0110.%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%8E%A5%E9%BE%99.html 思路 #include <stdio.h> #include <stdlib.h> #include <string.h>#define MAX 1000 // 假设最大字符串数 #define WORD_LENGTH 100 // 假…...
LeetCode:203.移除链表元素
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.…...
知识见闻 - 数学: 均方根 Root Mean Square
What is Root Mean Square (RMS)? 在统计学上,均方根(RMS)是均方的平方根,而均方是一组数值的平方的算术平均数。均方根也称为二次均值,是指数为 2 的广义均值的一种特例。均方根也被定义为基于一个周期内瞬时值的平方…...
机器硬件调优
grub参数 ipv6.disable1 ipv6.autoconf0 intel_pstatedisable nohzoff idlepoll intel_idle.max_cstate0 processor.max_cstate0 mceignore_ce nmi_watchdog0 transparent_hugepagenever pcie_aspm.policyperformance audit0 irqaffinity0 nosoftlockup grub2-mkconfig -o /bo…...
如何更改手机GPS定位
你是否曾想过更改手机GPS位置以保护隐私、玩游戏或访问受地理限制的内容?接下来我将向你展示如何使用 MagFone Location Changer 更改手机GPS 位置!无论是在玩Pokmon GO游戏、发布社媒贴子,这种方法都快速、简单且有效。 第一步:下…...
HarmonyOS(57) UI性能优化
性能优化是APP开发绕不过的话题,那么在HarmonyOS开发过程中怎么进行性能优化呢?今天就来总结下相关知识点。 UI性能优化 1、避免在组件的生命周期内执行高耗时操作2、合理使用ResourceManager3、优先使用Builder方法代替自定义组件4、参考资料 1、避免在…...
Mysql的加锁情况详解
最近在复习mysql的知识点,像索引、优化、主从复制这些很容易就激活了脑海里尘封的知识,但是在mysql锁的这一块真的是忘的一干二净,一点映像都没有,感觉也有点太难理解了,但是还是想把这块给啃下来,于是想通…...
hive3.1.2编译spark3安装包
此安装包是《去破解站长》在公司真实生产环境所使用的安装包。 引言:Hive引擎包括:默认MR、tez、sparkDownload:www.qupojie.com 1、Hive on Spark 1、Hive onSpark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法&…...
网络安全,文明上网(1)享科技,提素养
前言 在这个信息化飞速发展的时代,科技的快速进步极大地丰富了我们的生活,并为我们提供了无限的可能性。然而,随着网络世界的不断扩张,增强我们的网络素养成为了一个迫切需要解决的问题。 与科技同行,培育网络素养 技术…...
ESP32 烧录问题
ESP32 烧录问题 1.无法连接 Connecting......................................A fatal error occurred: Failed to connect to ESP32: No serial data received.这个表示通过串口连接esp32失败,可能存在多种原因,比如串口选择错误。 所选串口不是连接…...
CnosDB 实时流式计算:优化时序数据处理与降采样解决方案
在处理时序数据时,数据写入周期通常与数据采集设备的频率相关,有时每秒钟就需要处理大量的数据点。长时间处理如此多的数据会导致存储问题。一个有效的解决方案是使用流式计算,将原始数据进行降采样。 流式计算在时序数据库中指对实时数据流…...
ApiChain 从迭代测试用例到项目回归测试 核心使用教程
项目地址:ApiChain 项目主页 环境变量 环境变量是在特定的开发环境(开发、测试、uat等)下,保存的一份数据集,环境变量是发送网络请求或者执行单测的一个重要数据源。环境变量根据作用范围可以分为全局环境变量、项目…...
数据集-目标检测系列- 花卉 玫瑰 检测数据集 rose >> DataBall
数据集-目标检测系列- 花卉 玫瑰 检测数据集 rose >> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 贵在坚持! 数据样例项目地址: * 相关项目 1)数据集可视化项…...
django从入门到实战(四)——模型与数据库
1. 模型的定义与数据迁移 1.1 模型的定义 在 Django 中,模型是一个 Python 类,用于定义数据库中的数据结构。每个模型类对应数据库中的一张表,类的属性对应表中的字段。 示例: from django.db import modelsclass Blog(models…...
LeetCode:1008. 前序遍历构造二叉搜索树
目录 题目描述: 代码: 第一种: 第二种: 第三种:分治法 题目描述: 给定一个整数数组,它表示BST(即 二叉搜索树 )的 先序遍历 ,构造树并返回其根。 保证 对于给定的测试用例,总是有可能找到具有给定需求的二叉搜索树。 二叉搜索树 是一棵…...
gdb - 调试工具 - 入门 (一)
GDB(GNU Debugger)是GNU项目调试器的缩写,它是Linux下一个强大的C/C(以及其他语言如Fortran)程序调试工具。以下是对GDB的详细解释: 一、GDB的功能 GDB允许开发者对程序执行进行深入控制,可以…...
Swift内存访问冲突
内存的访问,发生在给变量赋值的时候,或者传递值(给函数)的时候,例如 var one 1//向one的内存区域发起一次写的操作 print("\(one)")//向one的内存区域发起一次读的操作 在 Swift 里,有很多修改…...
深入理解Spring(三)
目录 2.1.3、Spring配置非自定义Bean 1)配置Druid数据源交由Spring管理 2)配置Connection交由Spring管理 3)配置日期对象交由Spring管理 4)配置MyBatis的SqlSessionFactory交由Spring管理 2.1.4、Bean实例化的基本流程 1)Bean信息定义对象-BeanDefinition 2)DefaultLi…...
网站建设培训学校广州/2023年6月疫情情况
第一步:安装JDKhttps://blog.csdn.net/qq_33951308/article/details/82933535第二步:下载并安装neo4j下载地址或者直接用wget命令wget https://neo4j.com/artifact.php?nameneo4j-community-3.4.9-unix.tar.gz然后解压tar -zxvf artifact.php?nameneo4…...
成都网站搜索优化/图片外链生成工具在线
1月1日起,大部分商业银行个人房贷将执行去年多次加息后的新利率。首套贷款月供增加约6%-9%,二套房月供增长二到三成。 多数房贷在每年年初调整利率。2007年6次加息中有5次影响到房贷利率,基准利率将一次性提高0.99个百分点。 2006年8月19日后…...
wordpress怎么复制别人的/万能推广app
精确率:检出为某类缺陷的样本中实际为该类缺陷的概率; 召回率:实际为某类缺陷的样本中被检出为该类缺陷的概率; 精确率和召回率越高越好...
百度小程序中心/关键词优化推广公司排名
大家好,我是汤圆,为什么要写面试题呢(这是直接搬的哈哈 表格的文章) ,太无聊了 就看一遍 然后搬一篇,我也要坚持搬运完100篇! 目录 面试题1:你怎么理解ORM框架,常见的ORM框架都有哪些? 正经回…...
南部 网站 建设/慈溪seo排名
DDR3详解...
个人网站建设费用/seo站内优化站外优化
风和日丽的一天,老妈在称体重,发现老爸在窃笑。 老妈生气气,责问道:“是不是嫌弃我胖?!” 老爸意识到情况不对,立刻收起笑容,正色道:“按你的体重而言,身高应…...