0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言中字符数组介绍

jf_78858299 来源:C语言 作者:闫小林 2023-03-09 14:05 次阅读

C语言字符数组的定义

字符数组是用来存放字符数据的数组,字符数组中的一个元素存放一个字符,定义字符数组的方法和定义数值型数组的方法类似。

//例子:

char character[10];

C语言字符数组的初始化

C语言对字符数组初始化,最容易理解的方式是用“初始化列表”,把各个字符依次赋给数组中各元素。

如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。

//例子:把10个字符依次分别赋给c[0]~c[9]这10个元素。

char c[10]={'I',' ','a','m',' ',' h','a','p','p','y'};

C语言引用字符数组中的元素

可以引用字符数组中的一个元素,得到一个字符。

**C语言字符串和字符串结束标志 **

在C语言中,是将字符串作为字符数组来处理的,字符串中的字符是逐个存放到数组元素中的。

为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符‘\\0’作为结束标志。

C系统在用字符数组存储字符串常量时会自动加一个'\\0'作为结束符。

‘\\0’代表ASCII码为0的字符,从ASCII码表中可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做。

字符数组并不要求它的最后一个字符为'\\0',甚至可以不包含'\\0'。

C语言字符数组的输入输出

字符数组的输入输出有两种方法。

  • 逐个字符输入输出。用%c输入或输出一个字符。
  • 将整个字符串一次输入或输出。用%s格式符,意思是对字符串的输入输出。

输出的字符中不包括结束符“\\0”。

用%s格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。

如果数组长度大于字符串的实际长度。也只输出到遇“\\0”结束。

如果一个字符数组中包含一个以上“\\0”,则遇第一个“\\0”时输出就结束。

可以用scanf函数输入一个字符串。

C语言字符串处理函数

1、puts函数——输出字符串的函数

一般形式;

puts(字符数组)

作用:将一个字符串输出到终端。

2、gets函数——输入字符串的函数

一般形式:

gets(字符数组)

作用:从终端输入一个字符串到字符数组,并且得到一个函数值。

3、注意:用gets和puts函数只能输出或输入一个字符串。

4、stract函数——字符串连接函数

一般形式:

stract(字符数组1,字符数组2)

作用:把两个字符数组中的字符串连接起来,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。

5、strcpy和strncpy函数——字符串复制函数

一般形式:

strcpy(字符数组1,字符串2

作用:将字符串2复制到字符数组1中去。

6、strcmp函数——字符串比较函数

一般形式:

strcmp(字符串1,字符串2

作用:比较字符串1和字符串2,将两个字符串自左向右逐个字符相比,直到出现不同的字符或遇到“\\0”为止。如果全部字符相同,则认为两个字符串相等:若出现不相同的字符,则以第1对不相同的字符的比较结果为准。

7、strlen函数——测字符串长度的函数

一般形式:

strlen(字符数组)

作用:测试字符串长度的函数。函数的值为字符串中的实际长度。

8、strlwr函数——转换为小写的函数

一般形式:

strlwr(字符串)

作用:将字符串中的大写字母换成小写字母 。

9、strupr函数——转换为大写的函数

一般形式:

strupr(字符串)

作用:将字符串中小写字母换成大写字母。

C语言字符数组案例

#include//头文件
int main() //主函数
{
char array[3]={'A','b','c'};//字符数组定义和初始化
printf("%c\\n",array[1]);
return 0;//主函数返回值为0
}

编译运行结果:

b

--------------------------------
Process exited after0.1225 secondswith return value0
请按任意键继续. . .
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7534

    浏览量

    128949
  • 字符
    +关注

    关注

    0

    文章

    229

    浏览量

    24892
  • 数组
    +关注

    关注

    1

    文章

    409

    浏览量

    25597
收藏 人收藏

    评论

    相关推荐

    C语言中数组和结构体的内存表示和布局

    C语言中数组和结构体都可以代表一块内存,但为什么结构体可以直接赋值,而数组不可以?这个问题涉及到C语言的设计哲学、语法规则以及内存布局的细节。本文将深入探讨这些问题,通过原理
    发表于 08-28 10:54 475次阅读

    C语言中数组的用法

    C语言数组是一种数据结构,它可以存储多个相同类型的数据,例如整数,字符,浮点数等。数组的每个元素都有一个索引,用来表示它在数组中的位置。
    的头像 发表于 11-24 17:48 854次阅读
    C<b class='flag-5'>语言中</b><b class='flag-5'>数组</b>的用法

    C语言中怎么判断数组元素的个数

    C语言中怎么判断数组元素的个数,如数组:int array[]={45,56,76,234,1,34,23,2,3};
    发表于 05-26 11:49

    如何使用单片机的C语言中数组

    如何使用单片机的C语言中数组
    发表于 10-15 08:59

    C语言中的指针与数组分别有哪些作用呢

    C语言中的指针与数组分别有哪些作用呢?
    发表于 02-25 07:20

    C语言中怎么定义一个不定长度的数组

    C语言中怎么定义一个不定长度的数组
    发表于 10-09 07:40

    c语言字符数组详解

    ("%c ",a[i][j]);}printf("\n");}} 在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。当把一
    发表于 11-16 10:22 1955次阅读

    C语言中的char数组和char指针有什么区别?

    让我们通过下面的例子,来了解 C语言中字符数组字符指针之间的区别。
    的头像 发表于 01-29 16:35 1797次阅读

    C语言中数组空间动态开辟

    C语言中数组空间动态开辟 在C语言中,必不可少的需要使用到数组,通常为了动态的开辟数组空间,可以使用 malloc 函数,在C++中可以使
    的头像 发表于 02-10 12:42 1570次阅读

    C语言中数组在内存中如何表示

    C语言中数组在内存中是怎样表示的,今天就给大家聊聊这个话题。
    的头像 发表于 02-15 14:35 629次阅读
    C<b class='flag-5'>语言中</b><b class='flag-5'>数组</b>在内存中如何表示

    C语言字符数组字符串有什么区别

    用来存放字符数组称为字符数组字符数组的各个元素依次存放
    的头像 发表于 02-17 14:27 2623次阅读

    C语言中什么是指针数组

    在C语言中一个数组,若其元素均为指针类型数据,称为指针数组,也就是说,指针数组中的每一个元素都存放一个地址,相当于一个指针变量。
    的头像 发表于 03-10 15:26 1287次阅读

    c语言字符串定义

    C语言是一种强大而广泛使用的编程语言字符串是其中一个非常重要的概念。在C语言中字符串是由一系列字符
    的头像 发表于 11-24 10:02 874次阅读

    c语言中数组怎么定义

    C语言中数组是一种用来存储相同类型元素的数据结构。它可以存储多个元素,并通过一个共同的名称来引用这些元素。数组是一种很重要的数据结构,可以用于解决很多实际的问题。 在C语言中,定义
    的头像 发表于 11-24 10:11 1122次阅读

    C语言字符串编译函数介绍

    在C语言中字符串实际上是使用null字符O'终止的一维字符数组。因此,一个以null结尾的
    的头像 发表于 03-07 16:18 240次阅读
    C<b class='flag-5'>语言</b><b class='flag-5'>字符</b>串编译函数<b class='flag-5'>介绍</b>