char hello[5] = "Hello";
printf("%s", hello);
Hello#@($0948#."
也就是说,我们虽然定义了一个字符串,但只定义了5个字符的长度,而使用双引号为其初始化时,这个字符串的实际大小应该是6因为要追加一个\0,但我们在定义数组大小时只指定其大小是5所以这个数组中的中只有5个元素分别是'H'、'e'、'l'、'l'、'o' 。而在'o'之后并没有'\0',所以在printf显示这个字符串时,显示 Hello之后,并不知道何时结束,所以就会继续显示,直到遇到一个'\0'为止,于是我们程序就出现了非预期的结果 。这样的程序并不是我们提倡的,我们在定义字符串时一定要为其多分配一个字符的长度,以便存放字符串的结束符'\0' 。当然,使用双引号定义的字符串可以像使用普通数组一样使用其数组元素例如ABC运行结果可以看到直接显示字符串和循环显示字符数组中的元素的效果是一样的 。
char str[6] = "Hello";
printf("%s\n", str);
for (int i = 0; isizeof(str); i++)
{
printf("%c", str[i]);
}
printf("\n");
【怎么定义一个字符串数组 字符串数组】Hello
Hello
在这里我们使用了另一个重要函数sizeof(),它的作用是可以计算出某一个变量或类型的大小,就是占用的内存字节数,例如:
char ch;
short sh;
int i;
printf("%d %d %d %d %d\n",
sizeof(ch),
sizeof(sh),
sizeof(i),
sizeof(long),
sizeof(long long));
1 2 4 8 8
请注意,long类型的变量在不同的操作系统下占用字节数可能不同,请参数参见《变量大小》 。另外在使用sizeof来计算数组大小时,计算的是数组一共占用内存的字节数,而不是数组的元素元素的个数,例如:
int array[4];
printf("%d\n", sizeof(array));
上面例子的结果是16而不是4 。
在java中如何定义一个字符串数组1. java中定义一个字符串数组方式如下,string类型和其他基本类型相似,创建数组有两种方式 :
String[] str={"AAA","BBB","CCC"};
String str[]={"AAA","BBB","CCC"};
2.推荐用ArrayListString strArray = new ArrayListString (); 比较灵活 。
3.也可以写为如下格式:class[] array;array = new class[number];其中前半句为声明,后半句为初始化,初始化必须要让编译器知道大小,声明的时候java是不分配内存的,只有创建的时候也就是new的时候才会分配内存 。
扩展资料:
1.数组是相同数据类型的元素的集合 。
2.数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起 。
3.数组元素用整个数组的名字和它自己在数组中的顺序位置来表示 。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推 。
4.对于VB的数组,表示数组元素时应注意:下标要紧跟在数组名后,而且用圆括号括起来(不能用其他括号) 。下标可以是常量,变量,或表达式,但其值必须是整数 。下标必须为一段连续的整数,其最小值成为下界,其最大值成为上界 。不加说明时下界值默认为1 。
参考资料:字符数组_百度百科
秒懂生活扩展阅读
- 欧洲和澳洲在一个地方吗
- 农机驾驶证怎么办理
- 公司拒收辞职通知书怎么办
- 怎么删除内存啦
- 怎么用胡说八道避免社交 胡说八道避免社交搞笑经历
- 烟雨江湖怎么快速升级
- 手机4g网络信号不好怎么办
- atsl机械钥匙怎么开门
- 监控内网ip怎么查看
- 短袖变形如何恢复原样 短袖变形怎么恢复原样