C 语 言 --- 数 组 (1)
C 语 言 --- 数 组1
- 数 组
- 定义
- 一维数组
- 语 法 格 式
- 初始化
- 完 全 初 始 化
- 不 完 全 初 始 化
- 省 略 数 组 大 小
- 不 初 始 化
- 使 用 memset 初 始 化
- 类 型
- 访 问 元 素
- 一 维 数 组 在 内 存 中 的 存 储
- 总结
💻作 者 简 介:曾 与 你 一 样 迷 茫,现 以 经 验 助 你 入 门 C 语 言
💡个 人 主 页:@笑口常开xpr 的 个 人 主 页
📚系 列 专 栏:C 启新程
✨代 码 趣 语:读 代 码 比 写 代 码 困 难。
💪代 码 千 行,始 于 坚 持,每 日 敲 码,进 阶 编 程 之 路。
📦gitee 链 接:gitee

在 编 程 的 世 界 里,每 一 行 代 码 都 可 能 隐 藏 着 无 限 的 可 能 性 。你 是 否 想 过,一 个 小 小 的 程 序 究 竟 能 改 变 什 么?它 可 以 是 解 决 复 杂 问 题 的 工 具 ,也 可 以 是 实 现 梦 想 的 桥 梁。今 天,就 让 我 们 一 起 走 进 C 语 言 的 世 界,探 索 它 的 无 限 潜 力。
数 组
定义
数 组 是 一 种 数 据 结 构,是 一 组 相 同 类 型 元 素 的 集 合。它 可 以 存 储 多 个 相 同 类 型 的 数 据 元 素,这 些 元 素 在 内 存 中 是 连 续 存 储 的。数 组 通 过 一 个 统 一 的 名 称 来 引 用,每 个 元 素 可 以 通 过 其 在 数 组 中 的 索 引 来 访 问。
一维数组
语 法 格 式
type arrayName[arraySize];
其 中,type 是 数 组 中 元 素 的 类 型,可 以 是 基 本 数 据 类 型(如 int、float、char 等),也 可 以 是 自 定 义 数 据 类 型;arrayName 是 数 组 的 名 称,遵 循 变 量 命 名 规 则;arraySize 是 数 组 的 大 小,必 须 是 一 个 常 量 表 达 式,表 示 数 组 中 元 素 的 个 数。
在 C99 标 准 之 前,C 语 言 在 创 建 数 组 的 时 候,数 组 ⼤ 小 的 指 定 只 能 使 ⽤ 常 量、常 量 表 达 式,C99 中 给 ⼀ 个 变 长 数 组,允 许 我 们 可 以 使 ⽤ 变 量 指 定 数 组 ⼤ 小。
变 长 数 组 的 根 本 特 征:数 组 长 度 只 有 运 行 时 才 能 确 定,所 以 变 长 数 组 不 能 初 始 化。
它 的 好 处 是 随 意 为 数 组 指 定 ⼀ 个 估 计 的 长 度,程 序 可 以 在 运 行 时 为 数 组 分 配 精 确 的 长 度。
下 面 展 示
代码示例。
#include<stdio.h>
int main()
{int n = 0;scanf("%d", &n);int arr[n];int i = 0;for (i = 0;i < n;i++){arr[i] = i;}for (i = 0;i < n;i++){printf("%d ", arr[i]);}return 0;
}
下 面 使 用 代 码 展 示
数 组 是 如 何 创 建 的。
#include<stdio.h>
int main()
{int arr[20];char ch[8];return 0;
}
初始化
完 全 初 始 化
下 面 使 用 代 码 展 示
数 组 的 完 全 初 始 化。
#include <stdio.h>int main()
{// 完全初始化一个包含5个整数的数组int numbers[5] = {1, 2, 3, 4, 5};return 0;
}

在 上 面 的 代 码 中,定 义 了 一 个 整 型 数 组,名 称 为 numbers,并 将 整 型 数 组 中 的 元 素 初 始 化 为 1、2、3、4、5,数 组 的 大 小 为 5,意 味 着 它 可 以 容 纳 5 个 整 型 数 据。这 里 采 用 的 是 完 全 初 始 化 的 方 式,即 只 对 数 组 的 所 有 元 素 明 确 指 定 了 初 始 值。
不 完 全 初 始 化
下 面 使 用 代 码 展 示
数 组 的 不 完 全 初 始 化。
#include <stdio.h>
int main()
{// 不完全初始化一个包含5个整数的数组,未初始化的元素默认值为0int numbers[5] = {1, 2};return 0;
}

在 上 面 的 代 码 中,定 义 了 一 个 整 型 数 组,名 称 为 numbers,并 将 整 型 数 组 中 的 元 素 初 始 化 为 1、2,数 组 的 大 小 为 5,意 味 着 它 可 以 容 纳 5 个 整 型 数 据。这 里 采 用 的 是 不 完 全 初 始 化 的 方 式,即 只 对 数 组 的 前 两 个 元 素 明 确 指 定 了 初 始 值,对 于 未 显 式 初 始 化 的 后 三个 元 素,会 自 动 将 其 默 认 初 始 化 为 0。
省 略 数 组 大 小
下 面 使 用 代 码 展 示
省 略 数 组 大 小。
#include <stdio.h>
int main()
{// 省略数组大小,编译器会根据初始化列表的元素个数自动确定数组大小int numbers[] = {1, 2, 3, 4, 5};return 0;
}

不 初 始 化
如 果 对 数 组 不 进 行 初 始 化,数 组 里 面 是 随 机 值。一 定 要 写 上 数 组 的 大 小,否 则 编 译 会 报 错。
下 面 使 用 代 码 展 示
不 对 数 组 进 行 初 始 化。
#include <stdio.h>
int main()
{int numbers[5];return 0;
}

使 用 memset 初 始 化
memset 是 C 语 言 标 准 库 <string.h> 中 的 一 个 函 数,主 要 用 于 将 一 段 内 存 区 域 的 值 设 置 为 指 定 的 字 节 值。下 面 将 从 函 数 原 型 、参 数、返 回 值、功 能、使 用 示 例、注 意 事 项 等 方 面 详 细 介 绍 memset 函 数。
函 数 原 型
void *memset(void *s, int c, size_t n);
参 数
s:指 向 要 填 充 的 内 存 块 的 指 针,该 指 针 可 以 是 任 意 类 型,但 通 常 会 转 换 为 void* 类 型,以 支 持 不 同 类 型 的 内 存 块 操 作。
c:要 设 置 的 值,该 值 会 被 转 换 为 unsigned char 类 型。也 就 是 说,memset 是 以 字 节 为 单 位 进 行 填 充 的。
n:要 填 充 的 字 节 数,即 从 指 针 s 开 始 的 连 续 内 存 区 域 的 大 小。
返 回 值
返 回 指 向 s 的 指 针,这 样 可 以 方 便 进 行 链 式 操 作。
功 能
memset 函 数 的 主 要 功 能 是 将 指 针 s 所 指 向 的 内 存 区 域 的 前 n 个 字 节 都 设 置 为 指 定 的 值 c。
下 面 展 示
使 用 memset 对 数 组 进 行 初 始 化。
#include <stdio.h>
#include <string.h>int main()
{int arr[5];// 将arr数组的前5个字节都设置为0memset(arr, 0, 5 * sizeof(int));for (int i = 0; i < 5; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}
注意:
memset 是 以 字 节 为 单 位 进 行 填 充 的。当 对 整 型 数 组 等 非 字 符 类 型 数 组 进 行 操 作 时,要 特 别 注 意 这 一 点。例 如,将 一 个 整 型 数 组 使 用 memset 设 置 为 非 0 值 时,可 能 无 法 得 到 预 期 的 结 果。因 为 一 个 整 数 通 常 由 多 个 字 节 组 成,memset 会 将 每 个 字 节 都 设 置 为 指 定 的 值。
下 面 展 示
使 用 memset 对 数 组 进 行 初 始 化。
#include <stdio.h>
#include <string.h>
int main()
{int arr[5];// 将arr数组的前5个字节都设置为1memset(arr, 1, 5 * sizeof(int));for (int i = 0; i < 5; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}

整 数 在 内 存 中 的 存 储 方 式
1 个 字 节 = 8 个 比 特 位
int 类 型 通 常 占 用 4 个 字 节(即 32 位)。每 个 字 节 由 8 位 二 进 制 数 表 示。当 使 用 memset 将 每 个 字 节 都 设 置 为 1 时,一 个 int 类 型 的 元素 在 内 存 中 的 存 储 情 况 如 下:
一 个 字 节 的 二 进 制 表 示 为 0000 0001(十 进 制 为 1),而 一 个 int 类 型 有 4 个 字 节,那 么 这 个 int 类 型 元 素 在 内 存 中 的 二 进 制 表 示 就 是
0000 0001 0000 0001 0000 0001 0000 0001。化 为 十 进 制 是 16843009。

而 当 值 是 0 时,那 么 这 个 int 类 型 元 素 在 内 存 中 的 二 进 制 表 示 就 是
0000 0000 0000 0000 0000 0000 0000 0000。化 为 十 进 制 是 0。
memset 函 数 的 第 三 个 参 数 代 表 的 是 要 操 作 的 内 存 区 域 的 大 小,且 该 大 小 是 以 字 节 为 单 位 来 衡 量 的。对 于 一 个 数 组 而 言,其 占 用的 总 字 节 数 等 于 数 组 元 素 类 型 所 占 的 字 节 数 乘 以 数 组 的 元 素 个 数。因 此,在 上 述 代 码 里,memset 函 数 的 第 三 个 参 数 被 设 置 为 5 * sizeof(int),这 里 的 5 是 数 组 的 元 素 个 数,sizeof(int) 则 是 int 类 型 元 素 所 占 的 字 节 数,二 者 相 乘 便 得 到 了 整 个 数 组 所 占 用 的 字 节 数。
类 型
数 组 的 类 型 是:去 掉 数 组 名 剩 下 的 是 类 型。
下 面 使 用 代 码 展 示
数 组 的 类 型。
#include<stdio.h>
int main()
{int data1[5];//int --- 数组元素的类型//data1是数组名//数组的类型是:去掉数组名剩下的是类型,int [5]int data2[10];//data2的类型是int [10]return 0;
}
访 问 元 素
在 C 语 言 中,数 组 元 素 的 访 问 是 通 过 下 标 实 现 的,这 个 下 标 相 当 于 数 组 元 素 的 编 号。下 标 需 放 在 方 括 号 [ ] 中。下 标 是 从 0 开 始 计 数 的。若 一 个 数 组 包 含 n 个 元 素,那 么 其 首 个 元 素 的 下 标 为 0,最 后 一 个 元 素 的 下 标 则 是 n - 1。数 组 元 素 的 操 作 是 逐 个 元 素 去 处 理的 , 没 办 法 一 次 性 输 入,也 没 办 法 一 次 性 输 出 ,必 须 使 用 循 环。
[ ] — 下 标 引 用 操 作 符
方 法 一:
下 面 展 示
访 问 数 组 元 素。
#include<stdio.h>
int main()
{int i = 0;int arr[10];//输入数据for (i = 0;i < 10;i++){arr[i] = i;//将i的值依次存入数组}//输出数据for (i = 0;i < 10;i++){printf("%d ", arr[i]);}return 0;
}

方 法 二:
下 面 展 示
使 用 指 针 访 问 数 组 元 素。
#include<stdio.h>
int main()
{int i = 0;int arr[10];//输入数据for (i = 0;i < 10;i++){arr[i] = i;//将i的值依次存入数组}//输出数据int* p = &arr[0];for (i = 0;i < 10;i++){printf("%d ", *(p + i));}return 0;
}
int* p = &arr[0];
定 义 一 个 整 型 指 针 p,并 将 数 组 arr 的 第 一 个 元 素 的 地 址 赋 给 它。&arr[0] 表 示 取 数 组 arr 的 第 一 个 元 素 的 地 址,指 针 p 现 在 指 向 数 组 的 首 元 素。
printf("%d ", *(p + i));
p + i 表 示 指 针 p 向 后 偏 移 i 个 元 素 的 位 置。由 于 p 指 向 数 组 的 首 元 素,p + i 就 指 向 数 组 的 第 i 个 元 素。
*(p + i) 是 对 指 针 p + i 进 行 解 引 用 操 作,即 获 取 指 针 所 指 向 的 元 素 的 值。
数 组 的 大 小 可 以 通 过 计 算 得 到
下 面 展 示
计 算 数 组 大 小。
#include<stdio.h>
int main()
{int arr[5];int sz = sizeof(arr) / sizeof(arr[0]);printf("%d\n", sz);
}
代 码 解 释
sizeof(arr) 计 算 的 是 整 个 数 组 arr 所 占 用 的 字 节 数。因 为 arr 是 一 个 包 含 5 个 int 类 型 元 素 的 数 组,在 常 见 的 32 位 或 64 位 系 统 中,int 类 型 通 常 占 用 4 个 字 节,所 以 sizeof(arr) 的 结 果 是 5 * 4 = 20 字 节。
sizeof(arr[0]) 计 算 的 是 数 组 中 单 个 元 素(即arr[0])所 占 用 的 字 节 数。由 于 arr 是 int 类 型 的 数 组,所 以 sizeof(arr[0]) 的 结 果 是 4 字 节。
将 sizeof(arr) 除 以 sizeof(arr[0]),即 20 / 4,得 到 的 结 果 就 是 数 组 arr 中元 素 的 个 数。
一 维 数 组 在 内 存 中 的 存 储
下 面 展 示
代码示例。
#include <stdio.h>
int main()
{int arr[5] = { 1,1,1,1,1 };int i = 0;int sz = sizeof(arr) / sizeof(arr[0]);for (i = 0; i < sz; i++){printf("&arr[%d] = %p\n", i, &arr[i]);}return 0;
}


%p 是 格 式 控 制 符,用 于 输 出 一 个 指 针 的 值,也 就 是 元 素 的 地 址。
&arr[i] 表 示 取 数 组 arr 中 第 i 个 元 素 的 地 址。
通 过 观 察 输 出 的 地 址,我 们 不 难 发 现 数 组 元 素 在 内 存 中 是 连 续 存 储 的,相 邻 元 素 的 地 址 差 值 通 常 等 于 sizeof(int)。即 4 个 字 节。


总结
至 此,关 于 C 语 言 数 组 的 探 索 暂 告 一 段 落,但 你 的 编 程 征 程 才 刚 刚 启 航。写 代 码 是 与 机 器 深 度 对 话,过 程 中 虽 会 在 语 法、算 法 困 境 里 挣 扎,但 这 些 磨 砺 加 深 了 对 代 码 的 理 解。愿 你 合 上 电 脑 后,灵 感 不 断,在 C 语 言 的 世 界 里 持 续 深 耕,书 写 属 于 自 己 的 编 程 传 奇,下 一 次 开 启 ,定 有 全 新 的 精 彩 等 待。小 编 期 待 重 逢,盼 下 次 阅 读 见 你 们 更 大 进 步,共 赴 代 码 之 约!
相关文章:
C 语 言 --- 数 组 (1)
C 语 言 --- 数 组1 数 组定义一维数组语 法 格 式初始化完 全 初 始 化不 完 全 初 始 化省 略 数 组 大 小不 初 始 化使 用 memset 初 始 化 类 型访 问 元 素一 维 数 组 在 内 存 中 的 存 储 总结 💻作 者 简 介:曾 与 你 一 样 迷 茫,…...
[视频编码]rkmpp 实现硬件编码
mpi_enc_test的命令参数描述说明 命令参数的描述说明如下: 命令参数 描述说明 -i 输入的图像文件。 -o 输出的码流文件。 -w 图像宽度,单位为像素。 -h 图像高度,单位为像素。 -hstride 垂直方向相邻两行之间的距离,单…...
3D数字化:家居行业转型升级的关键驱动力
在科技日新月异的今天,家居行业正经历着一场前所未有的变革。从传统的线下实体店铺到线上电商平台的兴起,再到如今3D数字化营销的广泛应用,消费者的购物体验正在发生翻天覆地的变化。3D数字化营销不仅让购物变得更加智能和便捷,还…...
网安知识点
1.SQL注入漏洞产生的原因是? 前端传到后端的数据,没有经过任何处理,直接当作sql语句的一部分来执行 2.讲一下sql注入,写入webshell需要哪些前提条件 开启导入导出权限secure-file-priv 站点根目录位置/路径 mysql用户对站点根目…...
天津大学02-深度解读DeepSeek:部署、使用、安全【文末附下载链接】
大模型风险与不当用例——价值观错位 大模型与人类价值观、期望之间的不一致而导致的安全问题,包含:• 社会偏见(Social Bias)LLM在生成文本时强化对特定社会群体的刻板印象,例如将穆斯林与恐怖主义关联,或…...
【kubernetes】service
目录 1. 说明2. 原理2.1 服务注册2.2 服务发现2.3 负载均衡 3. Service的类型3.1 ClusterIP3.2 NodePort3.3 LoadBalancer3.4 ExternalName 4. 使用场景 1. 说明 1.kubernetes中的service主要用于提供网络服务,并实现微服务架构中的几个核心功能:全自动…...
Python卷积神经网络(CNN)来识别和计数不同类型的工业零件
以下三种类型工业零件为例,使用卷积神经网络(CNN)来识别和计数不同类型的工业零件。以下是Python实现步骤: 数据准备:收集并标注包含不同形状(如方形、圆形、扇形)的工业零件图像数据集。 模型…...
MoonSharp 文档二
目录 6.Sharing objects 我们先来简单谈谈类型描述符 先说类型描述 稍微复杂一点 调用静态成员 应该使用 “:” 还是 “.” 重载 ByRef 参数(C# 中的 ref/out) 索引器 userdata 上的运算符和元方法 扩展方法 事件 关于 InteropAccessMode 的…...
android 支持自定义布局、线程安全、避免内存泄漏的 Toast 工具类
支持自定义布局:可以灵活地显示自定义样式的 Toast。 线程安全:确保在主线程中显示 Toast,避免崩溃。 避免内存泄漏:使用 ApplicationContext 和取消机制,防止内存泄漏问题。 工具类:作为一个通用的工具…...
景联文科技:以精准数据标注赋能AI进化,构筑智能时代数据基石
在人工智能技术席卷全球的浪潮中,高质量数据已成为驱动AI模型进化的核心燃料。作为全球领先的AI数据服务解决方案提供商,景联文科技深耕数据标注领域多年,以技术为基、以专业为本,致力于为全球客户提供全场景、高精度、多模态的数…...
Mysql的卸载安装配置以及简单使用
MySQL其它问题已经更新在:MySQL完善配置---可视化-CSDN博客 一、卸载 ①控制面板卸载 ②C盘隐藏项目>ProgramData>mysql相关文件夹,还有Program file下的MySQL文件夹 ③开始菜单栏搜索>服务,找到MySQL相关服务删除,如果再…...
使用 ResponseBodyEmitter 实现异步响应式数据流处理
1. 概述 1.1 什么是 ResponseBodyEmitter ResponseBodyEmitter 是 Spring MVC 提供的一个接口,用于支持异步返回响应数据流。它允许在控制器方法中逐步发送数据给客户端,而无需一次性生成完整的响应。 1.2 使用场景 实时数据推送(如股票行情、聊天消息等)。大量数据分批…...
Uniapp项目运行到微信小程序、H5、APP等多个平台教程
摘要:Uniapp作为一款基于Vue.js的跨平台开发框架,支持“一次开发,多端部署”。本文将手把手教你如何将Uniapp项目运行到微信小程序、H5、APP等多个平台,并解析常见问题。 一、环境准备 在开始前,请确保已安装以下工具…...
Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->type
Nginx 中主要有以下几种模块类型 类型 含义 NGX_CORE_MODULE 核心模块(如进程管理、错误日志、配置解析)。 NGX_EVENT_MODULE 事件模块(如 epoll、kqueue 等 IO 多路复用机制的实现)。 NGX_HTTP_MODULE HTTP 模块…...
基于SpringBoot的“文物管理系统”的设计与实现(源码+数据库+文档+PPT)
基于SpringBoot的“文物管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体功能模块图 E-R实体图 系统首页界面 系统…...
dify + ollama + deepseek-r1+ stable-diffusion 构建绘画智能体
故事背景 stable-diffusion 集成进 dify 后,我们搭建一个小智能体,验证下文生图功能 业务流程 #mermaid-svg-6nSwwp69eMizP6bt {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6nSwwp69eMiz…...
Android原生gif动图加载AnimatedImageDrawable
Android原生gif动图加载AnimatedImageDrawable 从Android P(9.0)开始,Android系统支持gif动图的原生控件AnimatedImageDrawable,可以播放加载gif动图。 AnimatedImageDrawable官方文档链接: https://developer.andro…...
Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术
文章目录 前言一、Docker 简介二、Docker Desktop 安装2.1 系统要求2.2 安装步骤 三、Docker 基本概念四、Docker 常用命令五、实战:运行你的第一个容器5.1 拉取并运行 Nginx 容器5.2 查看容器日志5.3 停止并删除容器 六、总结 前言 随着云计算和微服务架构的普及&…...
记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)
文章目录 记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)一、创建项目1.1 生成提示词1.2 生成代码 二、编译预览2.1 导入项目2.2 编译预览 三、发布3.1 在微信开发者工具进行上传3…...
实战 - 使用 AutoAWQ 进行量化
文章目录 一、准备1、安装 autoawq2、模型准备 二、量化config.json 文件变化 三、加载量化后模型量化后的输出原始输出对比 四、查看模型的精度1、查看模型卡2、查看 config.json 中的 torch_dtype3、打印模型信息4、model.dtype 未必是模型精度 一、准备 1、安装 autoawq p…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
