C语言:二维数组和字符数组

C——浅析数组名的含义 在C语言中,数组有着极其重要的地位,它不仅是一种存放同一类型数据的集合,而且和指针也有着一定的关联。在这其中,数组名的含义与使用也是有一定学问的,总体来说可以概括为以下两点: 1. sizaeof()和取地址&后面单独跟数组名,此时数组名代表整个数组; 2. 除以上两种情况外,数组名表示数组首元素的地址; 接下来我将通过展示一些实例来帮助大家更好地理解和使用数组名。 1 一维整型数组的相关内容 第一组代码如下: 对于上面的5行代码,我们逐个分析: 1)因为a是一个整型的一维数组 阅读详情

二维数组

定义

二维数组本质上是一个行列式组合,也就是说二维数组是由行和列两部分组成,属于多维数组。二维数组通过行和列解读(先行后列)

二维数组可被视为一个特殊的一维数组,也就是说,当一个数组中的每一个元素是一位数组的时候,那么这个数组就是二维数组。

语法
 数据类型 数组名[行容量][列容量];  

行容量:外层数组的数组容量

列容量:内存数组的数组容量

说明
  • 二维数组在初始化的时候,可以省略行数,系统会通过初始化后的数据自动推断行数。

  • 二维数组和一位数组一样,也可以部分初始化,未初始化的元素使用0。

  • 二维数组在初始化的时候,不能省略列数,否则编译报错。

举例
 
int arr[3][3] = {{11,12,13},{21,22,23},{31,32,33}};   // 正确,等价于下面写法
 int arr[][3]  = {{11,12,13},{21,22,23},{31,32,33}};   // 正确,二维数组初始化的时候可以省略行容量,推荐
 ​
 int arr[3][3] = {{11,12},{21,22,23},{31}};            // 正确,可以未初始化部分补0,等价于下面写法
 int arr[3][3] = {{11,12,0},{21,22,23},{31,0,0}};      // 正确,支持部分初始化
 ​
 int arr[3][3] = {0};                                  // 正确,所有位置使用0补齐,推荐
 int arr[3][3] = {};                                   // 正确,所有位置使用0补齐
 int arr[3][3] = {11};                                 // 正确,除了0行0列是11外,其他都用0补齐
 ​
 int arr[][] = {{11,12,13},{21,22,23},{31,32,33}};     // 错误,编译报错,不能省略列容量
 int arr[3][] = {{11,12,13},{21,22,23},{31,32,33}};    // 错误,编译报错,不能省略列容量
 ​
 int arr[][3]  = {11,12,13,21,22,23,31,32,33};         // 正确,{}中不一定要嵌套
 int arr[][3]  = {11,12,13,21};                        // 正确,{}中不一定要嵌套
 ​

注意:在C语言中,二维数组在计算机的存储顺序是按行进行的,即第一维(行)下标变化慢,第二维的(列)下标变化快。

内存存储

注意:地址这里只是为了区分,实际的地址表示为十六进制。

应用场合

主要是应用对行列有要求的情况。比如说我们现在要存储西安粤嵌所有在班学生的成绩。

还有就是字符数组的应用,比如用数组存储学生的姓名。

double scores[35] = {..}; 一维数组初始化,存放1个班所有学生的成绩

double scores[5][40] = {{..}..} 二维数组初始化,存放5个班的学生成绩,每个班最多40人。

double scores[6][10][40] = {{{..}..}..} 三维数组初始化,存放6个校区、每校区最多10各班,每班最多40人。

特殊写法
  • 下标可以是整型表达式。如:a[2-1][2*2-1] → a[1][3]

  • 下标可以是已经有值的变量或者数组元素。如:a[2*x-1][b[3][1]] []中最终需要的是一个>0的整数。

  • 数组元素可以出现在表达式中。如:b[1][2] = a[2][3]/2

  • 演示:

    数组:arr列-0列-1列-2举例说明
    行-0111213arr[0][1]数组arr的0行1列对应的元素
    行-1212223arr[1][2]数组arr的1行2列对应的元素

注意:使用数组元素的下标应在已定义数组的大小范围内;应注意区别定义数组大小和引用数组元素的区别。

初始化
  • 分行给二维数组赋初值

    int arr[3][4] = {{11,12,13,14},{21,22,23,24},{31,32,33,34}};
  • 可将所有数据写在一个{}内,按照排列顺序对运算赋值

     int arr[3][4] = {11,12,13,14,21,22,23,24,31,32,33,34};
  • 可对部分元素赋初值,其余未初始化部分自动填充0

     int arr[3][4] = {{11},{21,22},{31,32,33}};
  • 若对全部元素赋初值,自定义数组时可以省略第一维数组容量(行容量),第二维数组容量(列容量)必须指明。

     int arr[][4] = {{11,12,13,14},{21,22,23,24},{31,32,33,34}};
     int arr[][4] = {11,12,13,14,21,22,23,24,31,32,33,34};
  • 在分行赋初值时,也可以省略第1维的长度(行容量)。

     int arr[][4] = {{11,12,13},{0},{0,10}};
案例
案例1
  • 需求:二维数组的遍历

  • 分析:

    • 二维数组本质上属于行列式,遍历的时候需要借助于嵌套的for循环,外层for负责行的遍历,内层for负责列的遍历。

    • 取值:

       数组名[行容量][列容量];
    • 赋值:

       数组名[行下标][列下标] = 值;
    • 行和列的大小计算:

       // 计算行的大小
       int row_length = sizeof(数组名) / sizeof(数组名[行下标0]);
       // 计算列的大小(每一行的列数是相同)
       int col_length = sizeof(数组名[行下标0]) / sizeof(数组名[行下标0][列下标0]);
  • 代码:

     
    
    /*************************************************************************
       > File Name:    demo01.c
       > Author:       三道渊
       > Description:  
       > Created Time: 2025年07月18日 星期五 11时11分09秒
      ************************************************************************/
     ​
     #include <stdio.h>
     ​
     int main(int argc,char *argv[])
     {
         // 创建一个二维数组
         int arr[][3] = {{11},{21,22},{31,32,33}};
     ​
         // 获取行和列的大小
         int row_len = sizeof(arr) / sizeof(arr[0]);// 外层数组大小
         int col_len = sizeof(arr[0]) / sizeof(arr[0][0]);// 内层数组大小,因为每个内层数组大小一致,所以计算第一个就可以了
     ​
         // 遍历数组
         // 外层循环:遍历行
         for (int i = 0; i < row_len; i++)
         {
             // 内层循环:遍历列
             for (int j = 0; j < col_len; j++)
             {
                 // 输出元素
                 printf("%-4d", arr[i][j]);
             }
         }
         printf("\n");
     ​
         return 0;
     }
    
    
  • 运行结果:

案例2
  • 需求:矩阵的转置

  • 分析:

    • 所谓的转置,就是原本的列变行,行变列。

  • 代码:

     /*************************************************************************
       > File Name:    demo02.c
       > Author:       三道渊
       > Description:  
       > Created Time: 2025年07月18日 星期五 11时35分36秒
      ************************************************************************/
     ​
     #include <stdio.h>
     ​
     #define ROW 2
     #define COL 3
     ​
     int main(int argc,char *argv[])
     {
         // 定义循环变量
         int i,j;
     ​
         // 准备2个数组,用来存放转置前后的数列
         int arr_before[ROW][COL] = {11,12,13,21,22,23};
         int arr_after[COL][ROW] = {0};
     ​
         // 计算数组的大小
         int arr_before_row = sizeof(arr_before) / sizeof(arr_before[0]);
         int arr_before_col = sizeof(arr_before[0]) / sizeof(arr_before[0][0]);
         
         int arr_after_row = sizeof(arr_after) / sizeof(arr_after[0]);
         int arr_after_col = sizeof(arr_after[0]) / sizeof(arr_after[0][0]);
     ​
         // 循环遍历二维数组
         printf("\n转置前:\n");
         for (i = 0; i < arr_before_row; i++)
         {
             for (j = 0; j < arr_before_col; j++)
             {
                 // 打印转置前的数据
                 printf("%-4d",arr_before[i][j]);
                 // 转置:行变列,列变行
                 arr_after[j][i] = arr_before[i][j];
             }
             printf("\n");
         }
         printf("\n");
     ​
         printf("转置后:\n");
         for (i = 0; i < arr_after_row; i++)
         {
             for (j = 0; j < arr_after_col; j++)
             {
                 printf("%-4d",arr_after[i][j]);
             }
             printf("\n");
         }
         printf("\n");
     ​
         return 0;
     }
     ​
  • 运行结果:

课堂练习
  • 需求:求一个3行3列的矩阵对角线上的元素之和。

字符数组

在C语言中,支持字符串常量,不支持字符串变量。如果想要实现类似的字符串变量,C语言提供了两种实现方式:

  • 字符数组:

     char name[] = "哪吒";

  • 字符指针:

     char *name = "哪吒";

概念

元素类型为char(字符型)的数组叫做字符数组。字符数组往往是用来存储字符串数据的。需要注意的,我们C语言中的字符是字节字符(1字符 = 1字节,C语言中没有字节这个表示法,我们一般使用char表示字节,1char = 8bit)。

硬件中存放数据以bit(位)为单位,系统对于内存的操作以char(字节)为单位。系统为内存以1个字节为单位进行编号。

实验:



 char a = 'A';      // 正确
 char b = '1';      // 正确 ASCII码:49
 char c = 1;        // 正确 ASCII码:1
 char d = '\n';     // 正确 只要其对应的 ASCII码的范围在0~127之间,都属于字符
 char e = "A";      // 错误 双引号括起来的内容叫做字符串常量
 char f = '冯';     // 错误 中文字符不在0~127这个范围内
语法

一维数组:

 char 数组名[数组容量];

二维数组:

 char 数组名[行容量][列容量];

字符数组的语法就是我们之前所学的一维数组和二维数组的语法,只不过数据类型是char而已。

注意:

如果我们的char数组初始化的时候,没有完全初始化值的时候,使用\0(\0对应的ASCII值是0)进行填充。大家要注意,这里的\0只是起到一个占位或者标识的作用,我们是无法通过printf等打印输出到控制台的(不支持输出)。

比如:

 char c[8] = {'h','e','l','l','o'}; // 一维的字符数组的初始化,未初始化部分补'\0'或者 0 等价于下面写法
 char c[8] = {'h','e','l','l','o','\0','\0','\0'};
案例
案例1
  • 需求:输出一个字符序列(I LOVE YOU)

  • 代码:

     
    
    /*************************************************************************
       > File Name:    demo03.c
       > Author:       三道渊
       > Description:  
       > Created Time: 2025年07月18日 星期五 14时29分35秒
      ************************************************************************/
     ​
     #include <stdio.h>
     ​
     int main(int argc,char *argv[])
     {
         // 创建一个数组,用来存储I LOVE YOU   空格' '也是字符,对应的ASCII 为 32
         char arr[] = {'I',' ','L','O','V','E',32,'Y','O','U'};  
     ​
         // 计算数组的大小
         int len = sizeof(arr) / sizeof(arr[0]);
     ​
         // 遍历数组
         for (int i = 0; i < len; i ++) printf("%c",arr[i]);
     ​
         printf("\n");
     ​
         return 0; 
     }
     ​
案例2
  • 需求:输出一个用字符*组成的空菱形图案。

  • 代码:

     /*************************************************************************
       > File Name:    demo04.c
       > Author:       冯鹏飞
       > Description:  
       > Created Time: 2025年07月18日 星期五 14时40分11秒
      ************************************************************************/
     ​
     #include <stdio.h>
     ​
     int main(int argc,char *argv[])
     {
         // 创建一个二维数组,存放菱形
         char arr[5][5] = {
             {' ',' ','*',' ',' '},
             {' ','*',' ','*',' '},
             {'*',' ',' ',' ','*'},
             {' ','*',' ','*',' '},
             {' ',' ','*',' ',' '}
         };
     ​
         // 计算行和列的大小
         int row_len = sizeof(arr) / sizeof(arr[0]);
         int col_len = sizeof(arr[0]) / sizeof(arr[0][0]);
     ​
         // 遍历数组
         for (int i = 0; i < row_len; i++)
         {
             for (int j = 0; j < col_len; j++) printf("%c",arr[i][j]); printf("\n");
         }
     ​
         printf("\n");
     ​
         return 0;
     }
     ​
注意
  • 如果定义时,不初始化,元素值不确定(局部作用域)

     char arr1[2];   // 此时,这个数组中元素的值是随机值
     char arr2[3] = {'a','b','c'}; // 此时属于部分初始化,未初始化的元素使用 \0 填充
     char arr3[3] = {};  // 此时所有的元素使用 \0 填充
     char arr4[3] = {0}; // 此时所有的元素使用 \0 填充

  • 如果提供的字符个数大于数组长度,则按照语法错误处理(会报警告,但是能编译通过);如果字符个数小于数组长度,后面的元素自动补\0

     char arr1[2] = {'h','e','e'};   // 编译通过,但是会报警告(warning),不建议写,实际存放的是 he
     char arr2[3] = {'a'};           // 正确写法,部分初始化,未初始化部分补 \0

  • 如果提供的字符个数与数组长度相同,可以省略数组长度,系统会自动确定元素的个数,适合字符较多时。

     char arr1[] = {'b','u'}; // 正确,根据初始化元素,由系统自动计算元素个数

字符串结束标志
说明
  • C语言规定,字符串常量以字符\0作为结束标志。

  • 编译系统对字符串常量自动加一个\0作为结束标志。 char *name = "tom",实际存储为{'t','o','m','\0'}

  • 程序中往往通过判断\0来检测字符串是否结束。举例:while(arr[i] != '\0'){..}

  • \0的ASCII码是0,不是一个可显示可输出的字符,是“空操作符”。它什么都不做,不会增加有效字符,仅仅用作一个工程判别的标志或者在数组中占位。

     char a[] = {'h','i'};        // 输出:hi
     char a[] = {'h','i','\0'};   // 输出:hi
     char c[] = "hello";          // 输出:hello,实际存储:hello\0  将字符串常量赋值给字符数组   

字符数组的多样表示

我们的char数组可以以数组的形式一个一个输出每个字符;也可以以字符串的形式整体输出。

  • 演示:

     
    
    /*************************************************************************
       > File Name:    demo05.c
       > Author:       三道渊
       > Description:  
       > Created Time: 2025年07月18日 星期五 15时31分37秒
      ************************************************************************/
     ​
     #include <stdio.h>
     ​
     int main(int argc,char *argv[])
     {
         // 字符串的第1种表示:
         char s1[] = {'h','e','l','l','o',' ','w','o','r','l','d','\0'};// 字符个数:12
         // 字符串的第2种表示:
         char s2[] = {"hello world"};// ""包裹的内容是字符串常量,字符串常量默认末尾有一个\0  字符个数:12
         // 字符串的第3种表示:
         char s3[] = "hello world"; // 字符个数:12
     ​
         // 字符串的第1种输出:
         // 计算字符串所占字节数
         printf("s1=%lu,s2=%lu,s3=%lu\n", sizeof(s1), sizeof(s2), sizeof(s3)); // s1=12,s2=12,s3=12
     ​
         // 计算数组大小
         int len = sizeof(s3) / sizeof(s3[0]);
     ​
         // 遍历
         for (int i = 0; i < len; i++)
         {
             // 过滤\0
             if (s1[i] == 0 || s2[i] == '\0' || s3[i] == 0) continue;
     ​
             printf("%c,%c,%c\n", s1[i], s2[i], s3[i]);
         }
         printf("\n");
     ​
     ​
         // 字符串的第2种输出:
         printf("%s,%s,%s\n",s1,s2,s3);
         printf("\n");
     ​
         return 0;
     }
     ​
注意
  • 字符串的长度与字符数组的长度不一定相同。

      char name[] = "hello";  // 数组长度:6,字符串长度:5

  • 利用字符串常量可以对字符数组进行初始化,但不能用字符串常量对字符数组赋值。

      // 正确演示:利用字符串常量给字符数组初始化
      char arr1[] = "hello";
      
      // 错误演示:利用字符串常量给字符数组赋值
      char arr2[6];
      arr2 = "hello";  // 可以理解为,数组是一个常量

COLMAP在Ubuntu下的编译陷阱与实战避坑指南——从环境配置到三维重建全流程 本文详细介绍了在Ubuntu系统下编译和配置COLMAP三维重建工具的全流程,包括环境准备、依赖库安装、CUDA加速配置以及常见编译问题的解决方案。通过实战案例演示了从图像特征提取到稠密重建的完整步骤,并提供了性能优化和问题排查的实用技巧,帮助用户高效完成三维重建任务。 阅读详情

相关推荐

用STM32手搓一个体温计

市面上大多额温计、测温计精度。

m0_61687959的博客 2375

C 语言之二维数组(详细版)

目录 1.二维数组的定义和初始化 2.二维数组在内存中的存储 3.二维数组的使用 4.二维数组的应用实例

weixin_45332776的博客 16万+

如何设计一个低代码平台

近些年来,低代码发展火热,各种低代码平台如雨后春笋纷纷崛起,这些平台各定位不同,优劣不同,用户的选择空间很大。那么,如果用户想从零开始设计一个低代码平台,该如何做呢?

Jarod_Chou的博客 8257

【C语言】二维数组

前面的博客介绍了一维数组只有一个下标,称为一维数组,其数组元素也称为单下标变量。我们在实际问题当中很多量是由二维或者是多维的,因此 C 语言允许构造了多维数组。多维数组的元素有多个下标,以标识它的数组中的位置,所以也称为多下标变量。本片文章介绍的是二维数组。

"謓泽"正在路上朝着"攻城狮"方向"前进四"! 7万+

【Python爬虫案例教学】超简洁代码采集原神所有角色信息

(。・∀・)ノ゙嗨 大家好,这里是池鱼

xiaoyuan_____的博客 2421

RK3568 开发实战:手动构建 Linux 4.19 内核镜像与设备树优化

本文详细介绍了为RK3568开发板手动编译Linux 4.19内核的完整实战流程。从环境搭建、源码获取、内核配置,到设备树深度定制与优化,再到镜像打包与烧写,旨在帮助开发者脱离官方SDK依赖,实现对嵌入式Linux系统的完全掌控,提升硬件适配与性能优化能力。

weixin_29175469的博客 269

【C语言】二维数组(详解)

前面我们深入学习了一维数组的相关知识,现在我们开始二维数组的学习之旅吧!1. 二维数组的创建1.1 二维数组的概念前面学习的数组被称为一维数组,数组的元素都是内置类型的,如果我们把一维数组作为数组的元素,这就是二维数组,二维数组作为数组元素的数组被称为三维数组,把二维数组以上的数组统称为多维数组。1.2 二维数组的创建定义二维数组的语法如下:1 type arr_name [常量值1] [常量值2];23 例如:

稻草人 2万+

【超简单】一文入门在Ubuntu系统使用GitHub

Github是基于git的代码仓库,对于开发项目的科研者或者工程师,代码仓库都是不可多得的版本控制与多端编程工具,今天这篇文章带你轻松Github入门,简单的项目本文的操作足矣。

a13337649640的博客 5236

C语言中的数组之二维数组

上一篇我们讲的数组被称为一维数组,数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称 为多维数组。整型、整形一维数组、整形二维数组。

萌新的博客 6717

以阿克曼转向车为例对URDF和XACRO文件进行解读

   最近我在古月学院购买了在Gazebo中实现阿克曼转向车的仿真课程,课程资料的阿克曼小车的XACRO文件在Gazebo里加载的时候报了三个错误,在这之前,我没接触过URDF或XACRO文件,本篇文章就以这个阿克曼小车的XACRO文件为例,对URDF或XACRO文件的格式和内容进行解读,期望经过解读和学习,找到错误原因及所在,并解决这三个错误    先来放一下上面右图所示的模型的完整的XACRO文件: <?xml version="1.0"?> <!-- racecar.urdf.x

慕羽★的博客 3701

流体动力学仿真软件:CFX_(10).案例实践:复杂流场分析

在“Phases”选项卡中,定义参与仿真的不同相。例如,如果您要分析气液两相流,可以定义“Air”和“Water”两个相。

kkchenjj的博客 1688

C语言(二维数组)

二维数组

小羊的博客 4969

【Kubernetes】Kubernetes 安全沙箱深度对比:gVisor vs Kata Containers

Kubernetes安全沙箱深度对比:gVisor和Kata Containers在架构、性能与安全性方面各有特点。gVisor通过用户态内核(Sentry)实现软件隔离,启动快(毫秒级)但CPU开销大(20-30%),适合Web服务等场景。Kata Containers采用轻量级虚拟机提供硬件级隔离,启动较慢(1-2秒)但兼容性更好,适合金融等高安全需求。测试显示gVisor在动态请求下性能下降33%,而Kata性能接近原生。建议根据场景选择:多租户/快速启动用gVisor,敏感数据/极致安全用Kata,

九师兄 178

字符串二维数组c语言_计算机编程C语言指针答疑:字符串指针和字符数组!

一、【计算机编程】【C语言指针试题】有下面四个C程序代码语句:char array1[] = "I love C";char array2[] = "I love C";char *pChar1 = "I love C";char *pChar2 = "I love C";printf("array1 == array2吗? %dn", array1 == array2);printf("pCha...

weixin_39640414的博客 124

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

字符串二维数组c语言_计算机编程C语言指针答疑:字符串指针和字符数组

一、【计算机编程】【C语言指针试题】有下面四个C程序代码语句:char array1[] = "I love C";char array2[] = "I love C";char *pChar1 = "I love C";char *pChar2 = "I love C";printf("array1 == array2吗? %dn", array1 == array2);printf("pCha...

weixin_39607473的博客 198

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C语言 sizeof 和 strlen 经典题解析:字符数组、指针与二维数组

本文围绕 C 语言中 sizeof 和 strlen 的经典易错问题展开,通过 char arr[] = "abcdef"、char* p = "abcdef" 以及二维数组 int a[3][4] 等例子,分析数组名在不同场景下的含义、数组名退化为首元素地址的条件、sizeof 在编译阶段根据类型计算大小的特点,以及 strlen 按照 '\0' 结束符统计字符串长度的运行机制。文章重点区分了字符数组、字符指针、数组地址、元素地址和二维数组行地址之间的差异,帮助初学者建立对数组、指针和内存访问的清晰理解。

Ihadream的博客 315

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C语言笔记一维&二维数组

本文介绍了C语言中数组的创建、初始化及使用要点。一维数组在C99前需常量定义大小,C99后支持变长数组但不允许初始化;二维数组行数可省略但列数不可省。数组初始化分为完全/不完全初始化,字符数组需注意两种初始化方式的区别。数组名作为参数传递时实质是首元素地址,因此元素个数需通过参数传递。特别指出sizeof(数组名)和&数组名两种特殊情况,前者计算整个数组大小,后者获取数组地址。通过示例代码展示了数组名的地址运算特性,包括一维数组和二维数组的地址偏移规律。

小乔的编程内容分享站 349

【C语言基础】C语言第七章

温习:三种循环结构 while(条件表达式) 循环体 do {     循环体 }while(条件表达式); for(表达式1;表达式2;表达式3)          表达式1 {                                     while(表达式2)     循环体                            { }              

又见炊烟 860

字符串函数、二维数组、1~n²数独

是C语言中的一种无符号整数类型. size_t 类型表示C中任何对象所能达到的最大长度计算字符串的长度,直到空结束字符,但不包括空结束字符输出结果为11。

l22221的博客 410

嵌入式学习Day7---C语言提高篇

数据类型 数组名[第一维数组的元素个数][第二维数组的元素个数];数据类型 数组名[行数][列数];数据类型 数组名[元素个数];今天是2024年7月18日,学习的第7天。开始深入学习C语言了,其中学习的字符数组是重点,感觉满满上强度了。加油!

m0_65301172的博客 1043

c语言中保证输出六个整数,C语言实验报告(六).doc

C语言实验报告(六)C语言实验报告(六)一、实验目的1、掌握二维数组的定义和元素的应用。2、掌握二维数组的应用。3、掌握字符数组的定义和元素的引用。4、掌握字符数组元素和字符串的应用。二、实验内容1. 统计子串个数描述:输入一个字符串str和一个子串s,统计str中子串s的个数。输入:输入数据有2行,第一行为str,第二行为s,字符串长度不超过128。输出:输出子串的个数样例输入: 输入样例1:...

weixin_33206743的博客 334

C语言 数组

C语言 数组相关概念

坚持学习 445

C语言指针:数组名在sizeof与strlen中的运算

sizeof是操作符,不是函数。sizeof计算的是变量所占内存空间的大小,单位是字节。strlen是C语言库函数,功能是求字符串长度。strlen统计的是从str这个地址开始往后,到\0之前的字符个数。

m0_62183318的博客 937

【零基础吃透C语言】核心语法篇(二维数组+字符串+函数)

核心:指定数据类型 + 数组名 + [行数][列数],行表示一维数组的个数,列表示每个一维数组的元素个数。// 标准写法:行和列均指定,元素按行初始化数据类型 数组名[行数][列数] = {{行0元素}, {行1元素}, ..., {行n-1元素}};// 示例:2行3列的int型二维数组{2,5,8}, // 第0行(第一个一维数组){7,9,10} // 第1行(第二个一维数组)// 简洁写法:省略内部大括号,按行顺序赋值(不推荐,可读性差)

weixin_42388661的博客 990

周信东c语言实验字符答案,C语言程设计实验与案例周信东主编实验五-六-数组及字符处理.doc...

C语言程设计实验与案例周信东主编实验五-六-数组及字符处理.doc下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档,不会出现我们的网址水印。3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。文档包含非法信息?点此举报后获取现金奖励!下载文档到电脑,查找使用更方便...

weixin_30995917的博客 1724

C语言数组与字符串

类型说明符 数组名[常量表达式];示例// 定义一个包含10个整数的数组// 定义一个包含5个浮点数的数组// 定义一个包含20个字符的数组注意数组长度必须是常量表达式(编译时能确定的值)数组下标从0开始,到长度-1结束数组名代表数组的首地址类型说明符 数组名[常量表达式1][常量表达式2];示例// 3行4列的整型矩阵// 5个学生3门成绩// 10个字符串,每个最长20个字符// 方法1:使用字符串常量初始化// 自动添加'\0',长度为6。

2501_94622227的博客 471
上一篇: C语言:数组
下一篇: C语言:字符串数组
三道渊
博客等级 码龄3年 118粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值