嵌入式开发–C语言基础6

本文详细介绍了C语言中的二维数组和字符型数组的概念、定义、初始化方法,以及字符串的输入输出、存储、长度获取、拼接和比较。重点讲解了如何在嵌入式开发中使用这些基础知识。
摘要由CSDN通过智能技术生成

学习目标:

嵌入式开发–C语言基础6


学习内容:

1.二维数组
2.字符型数组


学习时间:

2024年4月23日


学习产出:

在这里插入图片描述

1.二维数组

1.1数组的定义:

数据类型 数组名[行数][列数];
数据类型 数组名[第一维大小][第二维大小];

1.2数组元素的访问

数组名[行下标][列下标]

行下标、列下表:常量或者变量或者表达式

1.3二维数组初始化

        1.全部初始化:
        int a[2][3] = {1, 2, 3, 4, 5, 6};
        int a[2][3] = {{1, 2, 3}, {4, 5, 6}};

        2.局部初始化:
        int a[2][3] = {1, 2, 3};
        int a[2][3] = {{1, 2}, {3}};
        int a[2][3] = {0};
        int a[2][3] = {{0}};

        3.默认初始化:
        int a[][3] = {1, 2, 3, 4, 5, 6};
        int a[][3] = {1, 2, 3, 4};
        int a[][3] = {1, 2, 3};
        int a[][3] = {{1, 2}, {3}};

        注意:
            行能省略,列不能省略

1.4二维数组的存储:

连续性:数组存放的空间是连续的
有序性:数组存放的顺序有序

int a[2][3];
数组占24个字节连续空间

二维数组:由一维数组构成的一维数组

可推得:
N维数组可以理解为由N-1维数组构成的一维数组

2.字符型数组:

2.1 字符型数组定义:

char 数组名[元素个数];

注意:
1.元素个数必须为常量或常量表达式
2.元素大小必须能存放下字符串和末尾的\0字符

字符型数组和字符串的区别:
字符串:一定包含最末尾的\0字符
字符型数组:一组字符的集合,最末尾不需要一定是\0字符

2.2字符串的输入输出:

        输出:
            1.printf("%s\n", str);
            2.puts(str);
    
        输入:
            1.scanf("%s", str);
            2.gets(str);

            scanf只能接收不带' '的字符串
            gets可以接收带' '的字符串

2.3字符型数组的初始化:

            char str[6] = {'h', 'e', 'l', 'l', 'o', '\0'};
            char str[6] = {"hello"};
            char str[6] = "hello";

        2.局部初始化:
            char str[6] = {'h', 'e', 'l', '\0'};
            char str[6] = {0};
            char str[6] = {"hel"};
            char str[6] = "hel";

            0  -> '\0'
            48 -> '0'

        3.默认初始化:
            char str[] = {"hello"};
            char str[] = "hello";
            char str[] = {'h', 'e', 'l', 'l', 'o', '\0'};

        初始化 != 赋值

2.4字符型数组的存储:

char str[32];
字符型数组所占空间大小: 元素个数
字符串的长度: 从字符串开头到\0中间元素的个数(不包含\0)

2.5获得字符串的长度:

strlen

2.6字符串的拷贝:

strcpy(str, “hello world”);
将字符串hello world\0拷贝到str数组中

2.7字符串拼接:

strcat(str1, str2);

注意:
目的空间必须能够存放下拼接后的字符串

2.8字符串比较:

strcmp(str1, str2);
返回0:两个字符串相同
返回>0:第一个字符串 > 第二个字符串
返回<0:第一个字符串 < 第二个字符串

2.9字符型二维数组:

存储字符串数组
2.9.1定义
char str[第一维大小][第二维大小];

2.9.2初始化
局部初始化:

char str[5][32] = {{"hello"}, {"world"}, {"how"}, {"are"}, {"you"}};
char str[5][32] = {"hello", "world", "how", "are", "you"};
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值