首页互联网 正文

字符串数组的定义是什么 字符串数组是怎样输入输出的

2024-05-29 8 0条评论

字符串数组的定义是什么 字符串数组是怎样输入输出的

分类:虚机资讯 编辑: 浏览量:100 2021-06-22 11:09:22 为什么说一入技术深似海,因为他们要懂的,要记的东西远比其中一个职业多很多。接下来 新网小编给大家分析下字符串数组的定义是什么?字符串数组是怎样输入输出的?

  字符串数组的定义是什么

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

  其定义的一般形式是:char 数组名[数据长度]

  例如:

  char c[10];

  c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';

  以上定义了c为字符数组,包含10个元素。

  由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整型数组来存放字符数据,例如:int c[10];

  但这时每个数组元素占2个字节的内存单元,浪费存储 空间。

  字符数组也可以是二维或多维数组,例如:char c[5][10];

  即为二维字符数组。

  字符串数组是怎样输入输出的

  1.字符数组的输入

  (1)用getchar()或scanf()的'%c'格式符对数组进行字符赋值。例如,对于数组a[10]:用getchar()赋值:

  for(i=0;i

  a[i]=getchar();

  用scanf()赋值:

  for(i=0;i

  scanf("%c",&a[i]);

  (2)用scanf()的'%s'格式对数组赋值。还是对于数组a[10]:

  scanf("%s",a);

  或

  scanf("%s“,&a[0]);

  输入”C program“并回车时,a数组会自动包含一个以”\0“结尾的字符串”C program“。

  2.字符数组的输出

  (1)用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:

  for(i=0;i

  a[i]=putchar();

  用printf()赋值:

  for(i=0;i

  printf("%c",a[i]);

  输出结果为:

  c program

  (2)用printf()的'%s'格式对数组赋值。还是对于数组a[10];

  printf("%s",a);

  输出结果为:

  c program

字符串数组的定义是什么 字符串数组是怎样输入输出的

字符串数组

  字符串数组初始化

  字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。

  (1)用字符常量逐个初始化数组。例如:

  char a[8]={'i','l','o','v','e','y','o','u'};

  把8个字符依次分别赋给c[0]~c[7]这8个元素。

  如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'\0')。如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。例如:

  char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};

  这时c数组的长度自动定为9。

  也可以定义和初始化一个二维字符数组,例如:

  char diamond[5][5]={{' ',' ','#'},{' ','#',' ','#'},

  {'#',' ',' ',' ','#'},{' ','#',' ','#'},{' ',' ','#'}};用它代表一个菱形的平面图形。

  (2)字符串常量初始化数组。例如:

  char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};

  可写为:

  char c[ ]={"C program"};

  或去掉{}写为:

  char c[ ]="C program";

  注意:此时数组c的长度不是9,而是10。因为字符串常量的最后由系统加上一个'\0'。上面的初始化与下面的初始化等价。

  char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m','\0'}。

  字符串数组的定义是什么、字符串数组是怎样输入输出的都看清楚了吧!看完是不是觉得技术这门工作很不容易呢!如果喜欢这篇文章,来新网关注下吧!

声明:免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发

送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。本站原创内容未经允许不得转载,或转载时

需注明出处:新网idc知识百科

文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/58805.html 发布于 2024-05-29
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码