首页 > 编程知识 正文

字符串数组初始化为空,初始化字符数组

时间:2023-05-03 23:15:08 阅读:168109 作者:4050

文章目录字符数组的定义字符数组初始化字符串存储“”的作用

字符数组定义

与整数数组相同:

一维数组定义: char c[10]

二维阵列的定义: char ch[3][4];

字符数组初始化是在定义数组时初始化的。 例如,char c[10]={'a ',' b ',' c ',' d'}; 对于每个字符元素进行输出,输出格式为时printf('%dt”,c[i] ); 输出与各个字符对应的ASCII码,用0进行增补。 如果输出格式为,则返回printf('%ct”,c[i]; 输出a b c d的4个字符,之后的要素自动成为空字符“”。 结果如下。

作为字符整体输出时: printf('%s”,ch ); 输出abc。 字符类型数据以整数数据格式(ASCII代码)存储,因此也可以以整数数组存储字符数据; int a[10]; a[0]='a '; 缺点: 1个整数数据为4字节,1个字符数据为1字节,所以容易浪费内存空间。 序列char c[10]; 如果数组未初始化,将输出不可估计的值。大括号中指定的字符数>; 数组长度时,会发生语法错误。 不用写数组的长度。 char c[]={'a ',' b ',' c ',' d'}; 数组的长度是大括号内的字符数。 可用的printf ('数组长度为%dn ',sizeof(c ); 验证。 33558 www.Sina.com/charc [ ]=' iama '; 与char c[]={'i ',' '、'、' a '、' m '、'、' a '、''}相同,自动将大括号放在char c[]={'i am A'} 在这种情况下,数组的长度为7,最后一位为“ 0”。用字符串常量初始化字符数组

例如,char str1[]=“china "; str1=str2;C语言中数组名代表该数组的起始地址,所以不能在初始化后重新赋值。字符串存储编译错误

http://www.Sina.com/http://www.Sina.com/' I am a '字符串常量存储在一维数组中,占7个字节,最后一位为“ 0”。 “‘0’是一个空操作符,表示ASCII代码为0的字符,并作为一个标志。 (0)的作用C语言中没有字符串类型,也没有字符串变量,字符串是存放在字符型数组中的。C语言将字符串作为字符数组来处理

例如,定义数组char str1[]=“china”; 如果要使用scanf(…)或gets ()修改数组中的元素,请执行以下操作:

char str1[]='china '; scanf('%s ',str1); //GETS(str1; puts(str1; /*for(intI=0; i5; I ) {printf('%c(t ),str1[i]; }*/最多可输入长度为6的字符串(0)。 如果不输入,将报告错误。

假设输入的字符串为“ww”,则使用scanf或gets函数会自动在输入字符串的末尾添加“ 0”; 因此,此时存储在阵列str1中的元素是w w n a

puts ) )输出和for循环遍历输出的结果不同。 puts输出第一个(0之前的字符串,输出结果为) w; for循环逐个输出元素,输出结果为w w (不输出) n a (不输出) ); 将for循环中的循环条件i5变更为istrlen(str1时,与puts的输出结果相同。 strlen ) )计算字符数组的长度也以第一个“ 0”结束。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。