爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      【mesh】ESP32 官方文档(十六)ESP-MESH 编程指南

      首页 知识中心 软件开发 文章详情页

      【mesh】ESP32 官方文档(十六)ESP-MESH 编程指南

      2025-02-13 08:22:45 阅读次数:11

      int

      【ESP32】ESP32 开发问题记录

      USB线一定要用数据线,不要用电源线

      ESP32连接电脑在设备管理器中看不到设备,找不到“端口”。

      (win10 设备管理器中没端口选项是怎么回事?)

      被隐藏了,点击上面的查看,勾选显示隐藏的设备就可以找到端口了

      ESP-MESH 编程指南

      这是 ESP-MESH 的编程指南,包括 API 参考和编码示例。本指南分为以下几部分:

      • ESP-MESH 编程模型
      • 编写 ESP-MESH 应用程序
      • 自组织网络
      • 应用实例
      • API 参考

      有关 ESP-MESH 协议的文档,请参阅 ESP-MESH API 指南。

      ESP-MESH 编程模型

      软件栈

      【mesh】ESP32 官方文档(十六)ESP-MESH 编程指南
      ESP-MESH 软件栈构建在 Wi-Fi 驱动/FreeRTOS 之上,并且在某些情况下可以使用 LwIP 栈(即根节点)。下图说明了 ESP-MESH 软件栈。

      系统事件

      应用程序通过 ESP-MESH 事件与 ESP-MESH 交互。由于 ESP-MESH 构建在 Wi-Fi 栈的顶部,因此应用程序也可以通过 Wi-Fi 事件任务与 Wi-Fi 驱动交互。下图说明了 ESP-MESH 应用程序中各种系统事件的接口。

      【mesh】ESP32 官方文档(十六)ESP-MESH 编程指南

      mesh_event_id_t 定义所有可能的  ESP-MESH 系统事件,并且可以指示诸如父/子的连接/断开之类的事件。在可以使用 ESP-MESH 系统事件之前,应用程序必须通过 esp_mesh_set_config() 注册 Mesh 事件回调。 回调用于从 ESP-MESH 栈以及 LwIP 栈接收事件,并且应包含与应用程序相关的每个事件的处理程序。
      系统事件的典型用例包括使用诸如 MESH_EVENT_PARENT_CONNECTED 和 MESH_EVENT_CHILD_CONNECTED 之类的事件来指示节点何时可以分别开始上游和下游传输数据。 同样,MESH_EVENT_ROOT_GOT_IP 和 MESH_EVENT_ROOT_LOST_IP 可用于指示根节点何时能够和不能将数据传输到外部 IP 网络。

      在自组织模式下使用 ESP-MESH 时,用户必须确保不会调用 Wi-Fi API。这是因为自组织模式将在内部进行 Wi-Fi API 调用以连接/断开/扫描等。来自应用程序的任何 Wi-Fi 调用(包括来自回调函数和 Wi-Fi 事件处理程序的调用)可能干扰 ESP-MESH 的自组织行为。因此,在调用 esp_mesh_start() 之后,并且在调用 esp_mesh_stop() 之前,用户不应该调用 Wi-Fi API。

      LwIP & ESP-MESH

      应用程序可以直接访问 ESP-MESH 栈,而无需通过 LwIP 栈。仅根节点需要 LwIP 栈向/从外部 IP 网络发送/接收数据。 但是,由于每个节点都可能成为根节点(由于自动根节点选择),每个节点仍必须初始化 LwIP 栈。
      每个节点都需要通过调用 tcpip_adapter_init() 来初始化 LwIP 栈。为了防止非根节点访问 LwIP 栈,应用程序应在 LwIP 栈初始化后停止以下服务:

      • SoftAP 接口上的 DHCP 服务器服务。
      • Station 接口上的 DHCP 客户端服务。

      以下代码段演示了如何为 ESP-MESH 应用程序初始化 LwIP。

      /*  tcpip initialization */
      tcpip_adapter_init();
      
      /* * for mesh 
      * stop DHCP server on softAP interface by default 
      * stop DHCP client on station interface by default */
      
      ESP_ERROR_CHECK(tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP));
      ESP_ERROR_CHECK(tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA));
      /* do not specify system event callback, use NULL instead.*/
      
      ESP_ERROR_CHECK(esp_event_loop_init(NULL, NULL));

       

      ESP-MESH 要求根节点与路由器连接。因此,如果节点成为根节点,则相应的处理程序必须启动 DHCP 客户端服务并立即获取 IP 地址。这样做将允许其他节点开始向/从外部 IP 网络发送/接收分组。但是,如果使用静态 IP 设置,则不需要此步骤。

      编写 ESP-MESH 应用程序

      启动 ESP-MESH 的先决条件是初始化 LwIP 和 Wi-Fi。 以下代码片段演示了初始化 ESP-MESH 之前必要的先决条件步骤。


      tcpip_adapter_init();
      /*
       * for mesh
       * stop DHCP server on softAP interface by default
       * stop DHCP client on station interface by default
       */
      ESP_ERROR_CHECK(tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP));
      ESP_ERROR_CHECK(tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA));
      /* do not specify system event callback, use NULL instead. */
      ESP_ERROR_CHECK(esp_event_loop_init(NULL, NULL));

      /*  Wi-Fi initialization */
      wifi_init_config_t config = WIFI_INIT_CONFIG_DEFAULT();
      ESP_ERROR_CHECK(esp_wifi_init(&config));
      ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_FLASH));
      ESP_ERROR_CHECK(esp_wifi_start());

      初始化 LwIP 和 Wi-Fi 后,启动和运行 ESP-MESH 网络的过程可归纳为以下三个步骤:

      • 初始化 Mesh
      • 配置 ESP-MESH 网络
      • 启动 Mesh

      初始化 Mesh

      以下代码段演示了如何初始化 ESP-MESH


      /*  mesh initialization */
      ESP_ERROR_CHECK(esp_mesh_init());

      配置 ESP-MESH 网络

      ESP-MESH 通过 esp_mesh_set_config() 配置,它使用 mesh_cfg_t 结构接收其参数。 该结构包含用于配置 ESP-MESH 的以下参数:

      以下代码段演示了如何配置 ESP-MESH。


      /* Enable the Mesh IE encryption by default */
      mesh_cfg_t cfg = MESH_INIT_CONFIG_DEFAULT();
      /* mesh ID */
      memcpy((uint8_t *) &cfg.mesh_id, MESH_ID, 6);
      /* mesh event callback */
      cfg.event_cb = &mesh_event_handler;
      /* channel (must match the router's channel) */
      cfg.channel = CONFIG_MESH_CHANNEL;
      /* router */
      cfg.router.ssid_len = strlen(CONFIG_MESH_ROUTER_SSID);
      memcpy((uint8_t *) &cfg.router.ssid, CONFIG_MESH_ROUTER_SSID, cfg.router.ssid_len);
      memcpy((uint8_t *) &cfg.router.password, CONFIG_MESH_ROUTER_PASSWD,
             strlen(CONFIG_MESH_ROUTER_PASSWD));
      /* mesh softAP */
      cfg.mesh_ap.max_connection = CONFIG_MESH_AP_CONNECTIONS;
      memcpy((uint8_t *) &cfg.mesh_ap.password, CONFIG_MESH_AP_PASSWD,
             strlen(CONFIG_MESH_AP_PASSWD));
      ESP_ERROR_CHECK(esp_mesh_set_config(&cfg));


      启动 Mesh

      以下代码段演示了如何启动 ESP-MESH。


      /* mesh start */
      ESP_ERROR_CHECK(esp_mesh_start());

      启动 ESP-MESH 后,应用程序应检查 ESP-MESH 事件以确定它何时连接到网络。连接后,应用程序可以使用 esp_mesh_send() 和 esp_mesh_recv() 通过 ESP-MESH 网络开始发送和接收数据包。

      自组织网络

      自组织网络是 ESP-MESH 的一项功能,节点可以自动扫描/选择/连接/重新连接到其他节点和路由器。此功能允许 ESP-MESH 网络通过使网络对动态网络拓扑和条件具有鲁棒性来实现高度自治。启用自组织网络后,ESP-MESH 网络中的节点无需自主执行以下操作:

      选择或选择根节点(请参阅构建网络中的自动根节点选择)
      选择首选父节点(请参阅构建网络中的父节点选择)
      检测到断开连接时自动重新连接(请参阅管理网络中的中间父节点故障)

      启用自组织网络后,ESP-MESH 栈将在内部调用 Wi-Fi 驱动程序 API。因此,应用层不应对 Wi-Fi 驱动程序 API 进行任何调用,同时启用自组织网络,否则可能会干扰 ESP-MESH。

      切换自组织网络

      应用程序在运行时通过调用 esp_mesh_set_self_organized() 函数可以启用或禁用自组织网络。该函数具有以下两个参数:

      bool enable 指定是启用还是禁用自组织网络。
      bool select_parent 指定在启用自组织网络时是否应选择新的父节点。根据节点类型和节点的当前状态,选择新父级具有不同的效果。禁用自组织网络时,此参数未使用。

      禁用自组织网络

      以下代码段演示了如何禁用自组织网络。


      //Disable self organized networking
      esp_mesh_set_self_organized(false, false);


      当禁用自组织网络时,ESP-MESH 将尝试维持节点当前的 Wi-Fi 状态。

      如果节点先前已连接到其他节点,则它将保持连接状态。
      如果节点先前已断开连接并且正在扫描父节点或路由器,则它将停止扫描。
      如果节点先前尝试重新连接到父节点或路由器,它将停止重新连接。

      启用自组织网络

      在启用自组织网络时,ESP-MESH 将尝试维持节点当前的 Wi-Fi 状态。但是,根据节点类型以及是否选择了新父节点,节点的 Wi-Fi 状态可能会发生变化。下表显示了启用自组织网络的效果。

      【mesh】ESP32 官方文档(十六)ESP-MESH 编程指南

      以下代码演示了如何启用自组织网络。


      //Enable self organized networking and select a new parent
      esp_mesh_set_self_organized(true, true);

      ...

      //Enable self organized networking and manually reconnect
      esp_mesh_set_self_organized(true, false);
      esp_mesh_connect();

      调用 Wi-Fi 驱动程序 API

      应用程序可能希望在使用 ESP-MESH 时直接调用 Wi-Fi 驱动程序 API 的情况。例如,应用程序可能想要手动扫描相邻的 AP。但是,在应用程序调用任何 Wi-Fi 驱动程序 API 之前,必须禁用自组织网络。 这将阻止 ESP-MESH 栈尝试调用任何 Wi-Fi 驱动程序 API ,ESP-MESH 栈的这些调用可能干扰应用程序的调用。
      因此,应该在调用 esp_mesh_set_self_organized() 进行禁用和启用自组织网络之间放置对 Wi-Fi 驱动程序 API 的调用。 以下代码段演示了应用程序在使用 ESP-MESH 时如何安全地调用 esp_wifi_scan_start()。


      //Disable self organized networking
      esp_mesh_set_self_organized(0, 0);

      //Stop any scans already in progress
      esp_wifi_scan_stop();
      //Manually start scan. Will automatically stop when run to completion
      esp_wifi_scan_start();

      //Process scan results

      ...

      //Re-enable self organized networking if still connected
      esp_mesh_set_self_organized(1, 0);

      ...

      //Re-enable self organized networking if non-root and disconnected
      esp_mesh_set_self_organized(1, 1);

      ...

      //Re-enable self organized networking if root and disconnected
      esp_mesh_set_self_organized(1, 0);  //Don't select new parent
      esp_mesh_connect();                 //Manually reconnect to router


      应用实例

      ESP-IDF 包含这些 ESP-MESH 示例项目:
      内部通信示例演示了如何设置 ESP-MESH 网络并让根节点向网络中的每个节点发送数据包。
      手动网络示例演示了如何在没有自组织功能的情况下使用 ESP-MESH。此示例显示如何对节点进行编程以手动扫描潜在父节点列表,并根据自定义条件选择父节点。

      API 参考
      头文件

      esp32/include/esp_mesh.h

      相关函数

      • esp_err_tesp_mesh_init(void)
      • esp_err_tesp_mesh_deinit(void)
      • esp_err_tesp_mesh_start(void)
      • esp_err_tesp_mesh_stop(void)
      • esp_err_tesp_mesh_send(constmesh_addr_t *to, constmesh_data_t *data, int flag, constmesh_opt_topt[], int opt_count)
      • esp_err_tesp_mesh_recv(mesh_addr_t *from, mesh_data_t *data, int timeout_ms, int *flag, mesh_opt_topt[], int opt_count)
      • esp_err_tesp_mesh_recv_toDS(mesh_addr_t *from, mesh_addr_t *to, mesh_data_t *data, int timeout_ms, int *flag, mesh_opt_topt[], int opt_count)
      • esp_err_tesp_mesh_set_config(constmesh_cfg_t *config)
      • esp_err_tesp_mesh_get_config(mesh_cfg_t *config)
      • esp_err_tesp_mesh_set_router(constmesh_router_t *router)
      • esp_err_tesp_mesh_get_router(mesh_router_t *router)
      • esp_err_tesp_mesh_set_id(constmesh_addr_t *id)
      • esp_err_tesp_mesh_get_id(mesh_addr_t *id)
      • esp_err_tesp_mesh_set_type(mesh_type_ttype)
      • mesh_type_tesp_mesh_get_type(void)
      • esp_err_tesp_mesh_set_max_layer(int max_layer)
      • int esp_mesh_get_max_layer(void)
      • esp_err_tesp_mesh_set_ap_password(const uint8_t *pwd, int len)
      • esp_err_tesp_mesh_set_ap_authmode(wifi_auth_mode_tauthmode)
      • wifi_auth_mode_tesp_mesh_get_ap_authmode(void)
      • esp_err_tesp_mesh_set_ap_connections(int connections)
      • int esp_mesh_get_ap_connections(void)
      • int esp_mesh_get_layer(void)
      • esp_err_tesp_mesh_get_parent_bssid(mesh_addr_t *bssid)
      • bool esp_mesh_is_root(void)
      • esp_err_tesp_mesh_set_self_organized(bool enable, bool select_parent)
      • bool esp_mesh_get_self_organized(void)
      • esp_err_tesp_mesh_waive_root(constmesh_vote_t *vote, int reason)
      • esp_err_tesp_mesh_set_vote_percentage(float percentage)
      • float esp_mesh_get_vote_percentage(void)
      • esp_err_tesp_mesh_set_ap_assoc_expire(int seconds)
      • int esp_mesh_get_ap_assoc_expire(void)
      • int esp_mesh_get_total_node_num(void)
      • int esp_mesh_get_routing_table_size(void)
      • esp_err_tesp_mesh_get_routing_table(mesh_addr_t *mac, int len, int *size)
      • esp_err_tesp_mesh_post_toDS_state(bool reachable)
      • esp_err_tesp_mesh_get_tx_pending(mesh_tx_pending_t *pending)
      • esp_err_tesp_mesh_get_rx_pending(mesh_rx_pending_t *pending)
      • int esp_mesh_available_txupQ_num(constmesh_addr_t *addr, uint32_t *xseqno_in)
      • esp_err_tesp_mesh_set_xon_qsize(int qsize)
      • int esp_mesh_get_xon_qsize(void)
      • esp_err_tesp_mesh_allow_root_conflicts(bool allowed)
      • bool esp_mesh_is_root_conflicts_allowed(void)
      • esp_err_tesp_mesh_set_group_id(constmesh_addr_t *addr, int num)
      • esp_err_tesp_mesh_delete_group_id(constmesh_addr_t *addr, int num)
      • int esp_mesh_get_group_num(void)
      • esp_err_tesp_mesh_get_group_list(mesh_addr_t *addr, int num)
      • bool esp_mesh_is_my_group(constmesh_addr_t *addr)
      • esp_err_tesp_mesh_set_capacity_num(int num)
      • int esp_mesh_get_capacity_num(void)
      • esp_err_tesp_mesh_set_ie_crypto_funcs(const mesh_crypto_funcs_t *crypto_funcs)
      • esp_err_tesp_mesh_set_ie_crypto_key(const char *key, int len)
      • esp_err_tesp_mesh_get_ie_crypto_key(char *key, int len)
      • esp_err_tesp_mesh_set_root_healing_delay(int delay_ms)
      • int esp_mesh_get_root_healing_delay(void)
      • esp_err_tesp_mesh_set_event_cb(constmesh_event_cb_tevent_cb)
      • esp_err_tesp_mesh_fix_root(bool enable)
      • bool esp_mesh_is_root_fixed(void)
      • esp_err_tesp_mesh_set_parent(constwifi_config_t *parent, constmesh_addr_t *parent_mesh_id, mesh_type_tmy_type, int my_layer)
      • esp_err_tesp_mesh_scan_get_ap_ie_len(int *len)
      • esp_err_tesp_mesh_scan_get_ap_record(wifi_ap_record_t *ap_record, void *buffer)
      • esp_err_tesp_mesh_flush_upstream_packets(void)
      • esp_err_tesp_mesh_get_subnet_nodes_num(constmesh_addr_t *child_mac, int *nodes_num)
      • esp_err_tesp_mesh_get_subnet_nodes_list(constmesh_addr_t *child_mac, mesh_addr_t *nodes, int nodes_num)
      • esp_err_tesp_mesh_disconnect(void)
      • esp_err_tesp_mesh_connect(void)
      • esp_err_tesp_mesh_flush_scan_result(void)
      • esp_err_tesp_mesh_switch_channel(const uint8_t *new_bssid, int csa_newchan, int csa_count)
      • esp_err_tesp_mesh_get_router_bssid(uint8_t *router_bssid)
         
      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.csdn.net/bandaoyu/article/details/103678104,作者:bandaoyu,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:【数据结构】用栈实现队列

      下一篇:初始JavaEE篇 —— 网络原理---传输层协议:深入理解UDP/TCP

      相关文章

      2025-05-19 09:04:22

      C# byte[] 如何转换成byte*

      C# byte[] 如何转换成byte*

      2025-05-19 09:04:22
      byte , int
      2025-05-13 09:50:28

      分隔链表-146. LRU 缓存

      给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

      2025-05-13 09:50:28
      int , key , LinkedHashMap , 缓存 , 节点 , 链表
      2025-05-12 08:58:16

      O(1) 时间插入、删除和获取随机元素

      O(1) 时间插入、删除和获取随机元素

      2025-05-12 08:58:16
      int , val , 元素 , 返回
      2025-05-12 08:43:47

      LRU 缓存

      请你设计并实现一个满足  LRU (最近最少使用) 缓存 约束的数据结构。

      2025-05-12 08:43:47
      int , key , lt , 关键字 , 缓存
      2025-05-09 08:50:35

      Java基础(Arrays工具类)(asList()方法)(详细)

      实际的开发中,经常需要按某些特定条件对容器或者数组进行查找、替换、排序、反转甚至是打乱等操作。直接编写代码实现可以,但是会增加工作量,且性能不能得到保证。

      2025-05-09 08:50:35
      Arrays , int , 列表 , 排序 , 数组 , 方法
      2025-05-06 09:19:39

      【C/C++】如何求出类对象的大小----类结构中的内存对齐

      【C/C++】如何求出类对象的大小----类结构中的内存对齐

      2025-05-06 09:19:39
      byte , int , 内存 , 对齐 , 成员
      2025-05-06 09:19:12

      IO流:字节输出流FileOutputStream的超详细用法

      IO流:字节输出流FileOutputStream的超详细用法

      2025-05-06 09:19:12
      int , 写入 , 字节 , 换行 , 数组
      2025-04-22 09:44:09

      Go基本数据类型与string类型互转

      Go基本数据类型与string类型互转

      2025-04-22 09:44:09
      字符串 , 类型
      2025-04-22 09:27:37

      C语言指针(1)

      C语言中的指针是一种变量,它存储了一个内存地址。通过指针,我们可以直接访问这个内存地址中存储的数据。指针变量用于存储地址,而不是存储实际的值。

      2025-04-22 09:27:37
      int , 变量 , 地址 , 指向 , 指针
      2025-04-22 09:27:17

      指针的理解(三)

      指针的理解(三)

      2025-04-22 09:27:17
      int , 函数指针 , 变量 , 指针 , 数组
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5254134

      查看更多

      最新文章

      C# byte[] 如何转换成byte*

      2025-05-19 09:04:22

      O(1) 时间插入、删除和获取随机元素

      2025-05-12 08:58:16

      Java基础(Arrays工具类)(asList()方法)(详细)

      2025-05-09 08:50:35

      【C/C++】如何求出类对象的大小----类结构中的内存对齐

      2025-05-06 09:19:39

      C语言指针(1)

      2025-04-22 09:27:37

      Java数据结构之《快速排序》

      2025-04-18 07:11:40

      查看更多

      热门文章

      Java学习基本类型包装类--Integer

      2023-08-09 06:41:04

      Java千问07:你真的会用Java的int型变量吗?有些坑你真的不知道!

      2023-03-01 10:02:26

      通过graphql mesh 暴露HAProxy Data Plane API graphql api

      2024-05-14 09:35:35

      深入浅出 Java 数组:从基础到进阶

      2024-11-07 08:17:34

      C++复制内存比C#稍快

      2025-02-18 07:28:59

      C++算法:400第N位数的原理、源码及测试用例

      2025-02-27 09:34:01

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      C++二分算法:1751最多可以参加的会议数目 II

      【小白到大牛之路】交换机后台管理之用户输入的优化

      【状态压缩】【动态规划】【C++算法】691贴纸拼词

      Java各个类型与byte[]的转换

      【动态规划】C++算法:32最长有效括号

      C++算法:2608图中的最短环

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号