题目分析,高度理解一维二维数组的申请和[]是什么运算符

news2024/11/27 20:50:03

第0题:

动态申请二维数组并输出非负数和
和负数出现次数
在这里插入图片描述
在这里插入图片描述
思路:输入数组大小,然后申请内存并不对其初始化,提高速度,传入数据到申请的数组中,判断如果数组中有元素小于0对其进行计数,否则加上非0数最后输出答案,释放内存
在这里插入图片描述

第一题:

在这里插入图片描述

解答:
在这里插入图片描述
运行结果:

在这里插入图片描述
在这里插入图片描述
思路分析:
创建长度为20的字符串输入字符串将输入字符串传入我们的QAQ函数中其中我们在函数QAQ中定义了一个指针s用于传入形参。

对于传参的理解:
为什么我们要用*s传入字符串为什么不是char s[]?

因为chars更为简单char s[]和chars其实都是一样的

这是为什么?
我们知道数组其实是一个申请的空间我们可以通过指针申请数组,一维指针可以申请一维数组,二维指针可以申请二维数组,

在这里插入图片描述
其中g为int类型的指针,通过这个式子我们可以用指针去申请数组,一维数组这样
二维数组同理:

在这里插入图片描述
去使用二级指针去申请,其中row和cols代表行和列,
通过一维数组的申请可以知道我们既然数组名是指针那么数组名肯定是有指向的你们数组名指向的是什么?
那肯定是数组的首元素,既然数组名指向我们数组的首元素那么我们这么样访问数组的其他元素?
在数组中大家肯定见过[]符号,那这个说什么运算符?

[] 是数组索引运算符。在C++、C、Java等许多编程语言中,我们使用这个运算符来访问数组中的特定元素。
arr[i] 这种表达式的含义是:访问数组 arr 的第 i 个元素。在这里,i 是索引,它从0开始,一直到数组的长度减1。例如,如果数组 arr 有5个元素,那么i的值就可以是0, 1, 2, 3, 4
我们能够使用 i 这个变量来访问数组中的元素,是因为数组在内存中是连续存储的。
当我们使用 arr[i] 时,计算机会直接跳到内存中相应的位置,读取或写入那个位置的值。这就是为什么我们可以通过改变 i 的值来访问数组中的不同元素。
需要注意的是,尝试访问超出数组长度的索引会引发错误或异常,所以在编程时需要确保不会发生这种情况。

其实在由指针申请的数组中将一个指针指向元素的第3个位置可以通过[-2]来访问数组第一个元素

好了,一维数组这样那么一维数组的形参传入肯定可以用char*表示因为同过对上面一维数组的申请就可以知道数组名是指针,同理加[]也是告诉编译器我们的形参是数组

传入参数后我们是直接对我们数组名进行++即向后移动的操作当我们对数组名所指的位置元素的简单引用就是访问数组元素,如果发现数组在’a’和’z’范围内就对当前元素进行变为大写字母的操作

为上面+32因为我们知道我们的字符串是以ASCII存储为数字,然后有个规律就是小写字母的ASCII比大写大32然后我们减32就变成大写了然后输出我们当前转化后的值对数组名进行先后移动操作,就得出答案

下面是题目的简单题解,调用函数函数传值一般传地址:

在这里插入图片描述

第二题:

在这里插入图片描述

题解:
在这里插入图片描述

运行结果:

在这里插入图片描述
在这里插入图片描述

思路:
输入字符串–>通过函数确定数组大小for循环遍历数组–>如果发现字符串的某个字符是数字字符就输出数字字符,–>如果是字符者返回1
–>如果不是则返回0,–>判断后直接打印出答案就可以。

🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏、✍️评论,支持一下博主~

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

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

相关文章

C++ 教程 - 01

文章目录 C介绍环境配置第一个cpp程序案例练习 变量 C介绍 基于C语言,继承了C的所有语法; 静态类型语言,需要先编译,再执行; 贴近底层硬件,运行速度快; 支持面向对象、面向泛型&#xff0c…

一文读懂MySQL基础知识文集(8)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

CSS的逻辑组合伪类

CSS 的逻辑组合伪类有 4 种,分别是::not()、:is()、:where()和:has()。 否定伪类:not() :not 伪类选择器用来匹配不符合一组选择器的元素。由于它的作用是防止特定的元素被选中,它也被称为反选伪类(negation pseudo-…

编程实战:类C语法的编译型脚本解释器(九)编译语句

系列入口:编程实战:类C语法的编译型脚本解释器(系列)-CSDN博客 前文已经介绍了编译入口,核心就是语句,本文介绍语句的编译。 目录 一、代码概览 二、辅助函数 2.1 tokens.IsPosNotToken(pos) 2.2 toke…

华为快应用遇到的坑(uniapp开发)

我这边是使用uniapp开发的华为快应用&#xff0c;我想实现的效果就是收藏功能&#xff0c;点击白色收藏&#xff0c;收藏变成红色&#xff0c;点击红色收藏变成白色收藏 <template><cover-view click"collect"><cover-image v-if"is_collect&quo…

cocos creator “TypeError: Cannot set property ‘string‘ of null

背景&#xff1a; 学习cocos creator时遇到"TypeError: Cannot set property string of null" 错误。具体代码如下&#xff1a;property({ type: Label })public stepsLabel: Label | null null;update(deltaTime: number) {this.stepsLabel.string Math.floor(…

在Linux系统中更换yum源为阿里云

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

学生成绩管理系统(Java)

开发环境: Windows 11 IDEA 2021.3.3 需求: package com.it.neu;import java.util.ArrayList; import java.util.Scanner;import static java.time.Clock.system;class Student { //创建学生类private String Stu_name;private String Stu_id;public Student(String id, S…

C++使用策略模式,减少使用switch...case...

目录 原理函数类模板函数使用switch...case...不使用switch...case... 知识点decltypestd::remove_reference 原理 函数 #include <iostream> #include <functional> #include <map>void fun1(int a, int b) {std::cout << "fun1 : a "<…

学生成绩的增删改查

接上一篇MySQL数据库与其管理工具Navicat link 1.下载JDBC 可以登录MySQL的官方网站&#xff1a;www.mysql.com&#xff0c;下载JDBC-MySQL数据库驱动&#xff08;JDBC Driver for MySQL&#xff09;下载mysql-connector-java-5.1.40.zip后&#xff0c;将该zip文件解压至硬盘&a…

当使用RSA加密,从手机前端到服务器后端的请求数据存在+

将转成了空格&#xff0c;导致解密出错 将空格转成了

Numpy 实现基尼指数算法的决策树

基尼系数实现决策树 基尼指数 Gini ⁡ ( D ) 1 − ∑ k 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 \operatorname{Gini}(D)1-\sum_{k1}^{K}\left(\frac{\left|C_{k}\right|}{|D|}\right)^{2} Gini(D)1−k1∑K​(∣D∣∣Ck​∣​)2 特征 A A A条件下集合 D D D的基尼指数&#xff1a; Gi…

『VUE3后台—硅谷甄选』

一、准备前期 pnpm create vite

学习Python的未来前景分析

文章目录 前言学python可以干什么如果具备Python编程&#xff0c;能用Python做什么&#xff1a;学Python语言能干什么1.常规软件开发2.科学计算3.自动化运维4.云计算 学python编程对未来的影响关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Py…

2024年江苏省职业院校技能大赛信息安全管理与评估 第二阶段学生组(样卷)

2024年江苏省职业院校技能大赛信息安全管理与评估 第二阶段学生组&#xff08;样卷&#xff09; 竞赛项目赛题 本文件为信息安全管理与评估项目竞赛-第二阶段样题&#xff0c;内容包括&#xff1a;网络安全事件响应、数字取证调查、应用程序安全。 本次比赛时间为180分钟。 …

星钻图形输出

答案&#xff1a; #include <stdio.h> int a 0, b 0; void printLine(int a , int b) //输出一行包含&#xff1a;若干个空格 若干个*&#xff0c;第一&#xff0c;二个参数为空格数和*数&#xff1b; (定义一个星钻输出函数) {while (a--) //打印a个空格{printf(…

小程序左右侧边栏

效果 点击左侧边栏&#xff0c;右侧会定位到对应内容&#xff1b; 右侧滑动&#xff0c;左侧也会显示对应的高亮&#xff1b; 也就是左右联动的效果 项目场景 tocc-app 应急巡检 传入数据: 左侧点击&#xff0c;右侧滚动到对应位置 点击左侧导航条&#xff0c;就计算出右…

JavaScript面向对象编程的奥秘揭秘:掌握核心概念与设计模式

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;JavaScript篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-面向对象 目录 什么是面向对象&#xff1f; 类与对象的主要区别 创建…

【数据结构】- 详解哈夫曼树(用 C 语言实现哈夫曼树的构造和哈夫曼编码)

目录 一、哈夫曼树的基本概念 二、哈夫曼树的构造算法 2.1 - 哈夫曼树的构造过程 2.2 - 哈夫曼树的存储表示 2.3 - 算法实现 三、哈夫曼编码 3.1 - 哈夫曼编码的主要思想 3.2 - 哈夫曼编码的性质 3.3 - 算法实现 一、哈夫曼树的基本概念 哈夫曼树的定义&#xff0c;涉…

电脑字体大小怎么设置?学会这3个方法,轻松调节!

“感觉我近视又加深了&#xff0c;最近看电脑居然感觉字体有点小。我想把字体放大一点但却不知道应该怎么操作&#xff0c;有没有朋友可以指导一下我呀&#xff1f;” 在我们的日常生活中&#xff0c;电脑已经成为我们获取信息、交流和娱乐的重要工具。字体大小作为电脑显示的基…