C语言二维字符数组详解

C语言二维字符数组详解二维字符数组一般用于存储和处理多个字符串 二维字符数组中的每一行均可存储表示一个字符串 二维字符数组的定义二维字符数组的定义格式为 char 数组名 第一维大小 第二维大小 如 charc 3 10 定义了一个 3 行 10 列的二维字符数组 c 二维字符数组的初始化通常情况下 二维数组的每一行分别使用一个字符串进行初始化 例如 charc

二维字符数组一般用于存储和处理多个字符串,二维字符数组中的每一行均可存储表示一个字符串。

二维字符数组的定义

二维字符数组的定义格式为:

char 数组名[第一维大小][第二维大小];

如:

  1. char c[3][10]; //定义了一个3行10列的二维字符数组c

二维字符数组的初始化

通常情况下,二维数组的每一行分别使用一个字符串进行初始化。 例如:

  
  1. char c[3][8]={
    {“apple”},{“orange”},{“banana”}};

等价于:

  
  1. char c[3][8]={“apple”,”orange”,”banana”};
  0 1 2 3 4 5 6 7
c[0] a p p l e \0 \0 \0
c[1] o r a n g e \0 \0
c[2] b a n a n a \0 \0

 

由于该二维数组的每一行 c[0]、c[1]、c[2] 均是含有 10 个元素的一维字符数组,即二维数组的每一行均可表示一个字符串。

二维字符教组的引用

可以使用行下标和列下标引用二维字符数组中的每个元素(字符),例如:

  
  1. char c[][10]={“apple”,”orange”,”banana”};
  
  1. printf (“%c”,c[1][4]); //输出1行4列元素’g’字符
  2. scanf (“%c”,&c[2][3]); //输入一个字符到2行3列元素中
  3. c[2][0]=’B’; //把字符赋值给2行0列元素
  4. printf (“%s”,c[1]); //c[1]为第2行的数组名(首元素地址),输出 orange
  5. scanf (“%s”,c[2]); //输入字符串到c[2]行,从c[2]行的首地址开始存放

 

【例 1】 分析以下程序,输出其运行结果。

#include 
  
    int main (void){ char c[3][5] = {"Apple","Orange","Pear"}; int i; for(i=0;i<3;i++) printf ("%s\n",c[i]); return 0;} 
  
该数组各元素中的值如下所示。 
  0 1 2 3 4
c[0] A p p l e
c[1] O r a n g
c[2] P e a r \0

 

  
  1. printf (“%s\n”,c[0]); //输出AppleOrangPear
  2. printf (“%s\n”,c[1]); //输出OrangPear
  3. printf (“%s\n”,c[2]); // Pear

 

(来源自c语言中文网)http://c.biancheng.net/view/273.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217022.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:31
下一篇 2026年3月18日 上午10:32


相关推荐

  • sql数据库查询语句大全_sql基本语句大全

    sql数据库查询语句大全_sql基本语句大全1、今天select*from表名whereto_days(时间字段名)=to_days(now());2、昨天SELECT*FROM表名WHERETO_DAYS(NOW())-TO_DAYS(时间字段名)<=13、近7天SELECT*FROM表名whereDATE_SUB(CURDATE(),INTERVAL7DAY)<=date(时间字段名)4、近30天SELECT*FROM表名where

    2025年10月8日
    8
  • 计算机二级考试公共基础知识题库_公共基础知识计算机二级

    计算机二级考试公共基础知识题库_公共基础知识计算机二级计算机等级考试二级必须考公共基础知识,计算机二级考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。考试科目:语言程序设计(C、C++、Java、VisualBasic、WEB)、数据库程序设计(VisualFoxPro、Access、MySQL)、办公软件(MSOffice高级应用)共九个科目。新增”MySQL数据库程序设计”、”WEB程序设计”、”MSOffice高级应用…

    2022年5月3日
    57
  • WebMagic快速入门

    WebMagic快速入门一 WebMagic 介绍 WebMagic 的结构分为 Downloader PageProcesso Scheduler Pipeline 四大组件 并由 Spider 将它们彼此组织起来 这四大组件对应爬虫生命周期中的下载 处理 管理和持久化等功能 WebMagic 的设计参考了 Scapy 但是实现方式更 Java 化一些 而 Spider 则将这几个组件组织起来 让它们可以互相交互 流程化的执行 可以认为 Spider 是一个大的容器 它也是 WebMagic 逻辑的核心 1 1WebMagic 的四个组件 1

    2026年3月17日
    2
  • RGBA(0,0,0,0)调色

    RGBA(0,0,0,0)调色

    2021年10月28日
    161
  • 前端面试题汇总

    前端面试题汇总歌谣最全前端面试题(建议收藏,欢迎讨论)【Vue】[vue]从0到1自己构架一个vue项目,说说有哪些步骤、哪些重要插件、目录结构你会怎么组织

    2022年5月6日
    40
  • java有全局变量吗_java局部变量和成员变量的区别

    java有全局变量吗_java局部变量和成员变量的区别//    java全局变量危害 //    最近为了图快捷,使用了全局变量,然后就想到了一些危害//  1.线程不安全:线程中多个全局变量,修改容易冲突,需要加锁//  2.增加耦合性:修改全局变量可能会影响其他模块//  3.难以定位修改:难以定位全局变量在哪里被修改了,加大了调用难度//  4.长期占用内存:生命

    2022年8月21日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号