当前位置: 首页 > news >正文

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 初 始 化 类 型访 问 元 素一 维 数 组 在 内 存 中 的 存 储 总结 &#x1f4bb;作 者 简 介&#xff1a;曾 与 你 一 样 迷 茫&#xff0c;…...

[视频编码]rkmpp 实现硬件编码

mpi_enc_test的命令参数描述说明 命令参数的描述说明如下&#xff1a; 命令参数 描述说明 -i 输入的图像文件。 -o 输出的码流文件。 -w 图像宽度&#xff0c;单位为像素。 -h 图像高度&#xff0c;单位为像素。 -hstride 垂直方向相邻两行之间的距离&#xff0c;单…...

3D数字化:家居行业转型升级的关键驱动力

在科技日新月异的今天&#xff0c;家居行业正经历着一场前所未有的变革。从传统的线下实体店铺到线上电商平台的兴起&#xff0c;再到如今3D数字化营销的广泛应用&#xff0c;消费者的购物体验正在发生翻天覆地的变化。3D数字化营销不仅让购物变得更加智能和便捷&#xff0c;还…...

网安知识点

1.SQL注入漏洞产生的原因是&#xff1f; 前端传到后端的数据&#xff0c;没有经过任何处理&#xff0c;直接当作sql语句的一部分来执行 2.讲一下sql注入&#xff0c;写入webshell需要哪些前提条件 开启导入导出权限secure-file-priv 站点根目录位置/路径 mysql用户对站点根目…...

天津大学02-深度解读DeepSeek:部署、使用、安全【文末附下载链接】

大模型风险与不当用例——价值观错位 大模型与人类价值观、期望之间的不一致而导致的安全问题&#xff0c;包含&#xff1a;• 社会偏见&#xff08;Social Bias&#xff09;LLM在生成文本时强化对特定社会群体的刻板印象&#xff0c;例如将穆斯林与恐怖主义关联&#xff0c;或…...

【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主要用于提供网络服务&#xff0c;并实现微服务架构中的几个核心功能&#xff1a;全自动…...

Python卷积神经网络(CNN)来识别和计数不同类型的工业零件

以下三种类型工业零件为例&#xff0c;使用卷积神经网络&#xff08;CNN&#xff09;来识别和计数不同类型的工业零件。以下是Python实现步骤&#xff1a; 数据准备&#xff1a;收集并标注包含不同形状&#xff08;如方形、圆形、扇形&#xff09;的工业零件图像数据集。 模型…...

MoonSharp 文档二

目录 6.Sharing objects 我们先来简单谈谈类型描述符 先说类型描述 稍微复杂一点 调用静态成员 应该使用 “:” 还是 “.” 重载 ByRef 参数&#xff08;C# 中的 ref/out&#xff09; 索引器 userdata 上的运算符和元方法 扩展方法 事件 关于 InteropAccessMode 的…...

android 支持自定义布局、线程安全、避免内存泄漏的 Toast 工具类

支持自定义布局&#xff1a;可以灵活地显示自定义样式的 Toast。 线程安全&#xff1a;确保在主线程中显示 Toast&#xff0c;避免崩溃。 避免内存泄漏&#xff1a;使用 ApplicationContext 和取消机制&#xff0c;防止内存泄漏问题。 工具类&#xff1a;作为一个通用的工具…...

景联文科技:以精准数据标注赋能AI进化,构筑智能时代数据基石

在人工智能技术席卷全球的浪潮中&#xff0c;高质量数据已成为驱动AI模型进化的核心燃料。作为全球领先的AI数据服务解决方案提供商&#xff0c;景联文科技深耕数据标注领域多年&#xff0c;以技术为基、以专业为本&#xff0c;致力于为全球客户提供全场景、高精度、多模态的数…...

Mysql的卸载安装配置以及简单使用

MySQL其它问题已经更新在&#xff1a;MySQL完善配置---可视化-CSDN博客 一、卸载 ①控制面板卸载 ②C盘隐藏项目>ProgramData>mysql相关文件夹&#xff0c;还有Program file下的MySQL文件夹 ③开始菜单栏搜索>服务&#xff0c;找到MySQL相关服务删除&#xff0c;如果再…...

使用 ResponseBodyEmitter 实现异步响应式数据流处理

1. 概述 1.1 什么是 ResponseBodyEmitter ResponseBodyEmitter 是 Spring MVC 提供的一个接口,用于支持异步返回响应数据流。它允许在控制器方法中逐步发送数据给客户端,而无需一次性生成完整的响应。 1.2 使用场景 实时数据推送(如股票行情、聊天消息等)。大量数据分批…...

Uniapp项目运行到微信小程序、H5、APP等多个平台教程

摘要&#xff1a;Uniapp作为一款基于Vue.js的跨平台开发框架&#xff0c;支持“一次开发&#xff0c;多端部署”。本文将手把手教你如何将Uniapp项目运行到微信小程序、H5、APP等多个平台&#xff0c;并解析常见问题。 一、环境准备 在开始前&#xff0c;请确保已安装以下工具…...

Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->type

Nginx 中主要有以下几种模块类型 类型 含义 NGX_CORE_MODULE 核心模块&#xff08;如进程管理、错误日志、配置解析&#xff09;。 NGX_EVENT_MODULE 事件模块&#xff08;如 epoll、kqueue 等 IO 多路复用机制的实现&#xff09;。 NGX_HTTP_MODULE HTTP 模块&#xf…...

基于SpringBoot的“文物管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“文物管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体功能模块图 E-R实体图 系统首页界面 系统…...

dify + ollama + deepseek-r1+ stable-diffusion 构建绘画智能体

故事背景 stable-diffusion 集成进 dify 后&#xff0c;我们搭建一个小智能体&#xff0c;验证下文生图功能 业务流程 #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&#xff08;9.0&#xff09;开始&#xff0c;Android系统支持gif动图的原生控件AnimatedImageDrawable&#xff0c;可以播放加载gif动图。 AnimatedImageDrawable官方文档链接&#xff1a; https://developer.andro…...

Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术

文章目录 前言一、Docker 简介二、Docker Desktop 安装2.1 系统要求2.2 安装步骤 三、Docker 基本概念四、Docker 常用命令五、实战&#xff1a;运行你的第一个容器5.1 拉取并运行 Nginx 容器5.2 查看容器日志5.3 停止并删除容器 六、总结 前言 随着云计算和微服务架构的普及&…...

记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)

文章目录 记录小白使用 Cursor 开发第一个微信小程序&#xff08;二&#xff09;&#xff1a;创建项目、编译、预览、发布&#xff08;250308&#xff09;一、创建项目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…...

【HFP】规范精讲[15]: HFP蓝牙特有AT命令:免提场景专属功能的控制语言

在蓝牙HFP的命令体系中&#xff0c;除了复用自传统移动通信标准的AT命令&#xff0c;还有一类专门为蓝牙免提场景设计的专属AT命令。这些命令就像为蓝牙免提设备量身定制的方言&#xff0c;针对无线音频传输、设备间状态同步、蓝牙特有功能等场景进行了精准优化&#xff0c;是实…...

PCB布局设计规范与工程实践要点

PCB布局设计思路与工程实践指南1. 布局设计基本原则1.1 结构约束优先原则在PCB布局初期&#xff0c;必须优先考虑机械结构约束条件&#xff1a;定位安装孔、连接器等结构件需严格按照外壳设计文件放置连接器1脚方向必须与结构设计匹配&#xff0c;避免装配错误元件高度不得超过…...

手把手教你用QEMU+GDB调试RISC-V中断:以蜂鸟E200 ECLIC为例

从零构建RISC-V中断调试实战&#xff1a;基于QEMU与蜂鸟E200 ECLIC的深度解析 第一次在QEMU中成功捕获到中断向量跳转时&#xff0c;GDB窗口里那个闪烁的mtvec地址让我兴奋得差点打翻咖啡——这比看任何理论文档都直观十倍。作为从ARM Cortex-M转型RISC-V的嵌入式开发者&#x…...

Beyond Compare 5专业授权生成器:3种高效授权方案完整指南

Beyond Compare 5专业授权生成器&#xff1a;3种高效授权方案完整指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare作为业界领先的文件对比工具&#xff0c;其强大的功能在软件…...

pythondjango心理咨询vue

目录Python Django 心理咨询系统功能分析后端&#xff08;Django&#xff09;功能模块前端&#xff08;Vue.js&#xff09;功能模块技术实现关键点扩展功能建议项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作Python Django 心理…...

CVPR2025新星DehazeXL:开源8K去雾数据集与可解释归因图,高分辨率图像处理新范式

1. 高分辨率图像去雾的痛点与DehazeXL的突破 第一次处理8K航拍图像时&#xff0c;我盯着显存不足的报错信息愣了半天——当时用的某知名去雾模型&#xff0c;光是加载81928192的图片就吃掉了48GB显存。这其实是高分辨率图像处理领域的普遍困境&#xff1a;传统方法要么被迫降采…...

DataX 实战:从零部署到多场景数据同步

1. DataX入门&#xff1a;为什么选择它作为数据同步工具 第一次接触DataX是在三年前的一个紧急项目里&#xff0c;当时需要把生产环境的MySQL数据实时同步到分析库。试过几种方案后&#xff0c;最终被DataX的稳定性和灵活性打动。作为阿里开源的数据同步工具&#xff0c;它最大…...

LlamaIndex中文文档全解析:从安装到实战RAG系统的保姆级指南

LlamaIndex中文文档全解析&#xff1a;从安装到实战RAG系统的保姆级指南 在人工智能技术快速迭代的今天&#xff0c;如何让大型语言模型(LLM)真正理解并处理私有数据成为开发者面临的核心挑战。LlamaIndex作为专为上下文增强设计的框架&#xff0c;正在改变我们构建智能应用的方…...

ICEM高效建模技巧:从快捷键到多点创建模式

1. ICEM快捷键&#xff1a;让你的建模效率翻倍 刚开始用ICEM建模那会儿&#xff0c;我总被繁琐的鼠标操作折磨得够呛。直到有天发现隔壁工位的同事建模速度比我快三倍&#xff0c;偷师学艺才知道——原来快捷键才是真正的生产力神器。这里分享几个我每天必用的核心快捷键组合&a…...

浪潮 NF5270M4 装 ESXi 8.0 识别不到 RAID1?这样设置一次搞定

最近很多机友遇到了核心问题&#xff1a;RAID1 已创建&#xff0c;但 ESXi 8.0U3i 只看到两块独立 SATA 盘&#xff0c;没识别出 RAID 逻辑盘。这是浪潮 NF5270M4 ESXi 8.0 的典型兼容性 / 驱动 / 配置问题&#xff0c;按下面步骤排查即可解决。一、先确认核心前提(必做)1、你…...