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

const char* 指向字符串数组和字符串的区别

const char* 可以指向单个字符串常量,也可以指向字符串数组(即指针数组),它们有以下区别:

1. 指向单个字符串常量

const char* str = "Hello World";
  • 指向一个以 null 结尾的字符数组(字符串)
  • 内存布局:'H' 'e' 'l' 'l' 'o' ' ' 'W' 'o' 'r' 'l' 'd' '\0'
  • 只能访问这一个字符串

2. 指向字符串数组(指针数组)

const char* strs[] = {"Hello", "World", "C++"};
const char** p = strs; // 指向字符串数组
  • 指向一个数组,数组的每个元素都是 const char*(即每个元素指向一个字符串)
  • 内存布局:
    • strs[0]"Hello\0"
    • strs[1]"World\0"
    • strs[2]"C++\0"
  • 可以访问多个字符串

主要区别

特性

指向单个字符串

指向字符串数组

声明方式

const char*

const char*[]const char**

指向内容

一个字符串

多个字符串的指针数组

访问方式

直接使用指针

需要通过索引访问元素

内存布局

连续字符+null终止符

多个指针,每个指向一个字符串

示例代码

#include <stdio.h>int main() {// 指向单个字符串const char* singleStr = "Hello";printf("Single string: %s\n", singleStr);// 指向字符串数组const char* strArray[] = {"Apple", "Banana", "Cherry"};const char** ptrToArray = strArray;printf("String array:\n");for(int i = 0; i < 3; i++) {printf("%d: %s\n", i, ptrToArray[i]);}return 0;
}

相关文章:

  • 超声波传感器模块
  • llamafactory-记录一次消除模型随机性的成功过程
  • ElasticSearch深入解析(十一):分页
  • coze平台实现文生视频和图生视频(阿里云版)工作流
  • C++标准流详解:cin/cout的绑定机制与cerr/clog的缓冲差异
  • Landsat 5介绍
  • [超级简单]讲解如何用PHP实现LINE Pay API!
  • ELF文件详解
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- GPT源代码解析
  • 笔试强训(十七)
  • JMeter同步定时器 模拟多用户并发访问场景
  • Google Earth Engine(GEE) 代码详解:批量计算_年 NDVI 并导出(附 Landsat 8 数据处理全流程)
  • Matlab基于SSA-MVMD麻雀算法优化多元变分模态分解
  • Python爬虫实战:研究JavaScript 环境补全逆向解密
  • 大模型MCP_MCP从流式SSE到流式HTTP_1.8.0支持流式HTTP交互_介绍_从应用到最优--人工智能工作笔记0245
  • 黑马Java跟学.最新AI+若依框架项目开发(一)
  • 手搓传染病模型(SEIARW)
  • AcroForm 格式化文本(域)字段
  • HttpSession 的运行原理
  • 2025-05-13 学习记录--Python-循环:while循环 + for循环 + 循环控制
  • 马上评|安排见义勇为学生补考,善意与善意的双向奔赴
  • 一海南救护车在西藏无任务拉警笛开道,墨脱警方:已处罚教育
  • 体坛联播|安切洛蒂执掌巴西男足,字母哥尝试离开雄鹿
  • “降息潮”延续,多家民营银行下调存款利率
  • “无锡景・江南韵”:中国评弹艺术在尼日利亚收获众多粉丝
  • 季后赛主场优势消失之谜,这事竟然要赖库里