C语言(关于字符数组)

  • 当单个字符赋值时,系统不会自动加\0,整体赋值时系统自动赋\0但不记入字符串长度。

    如:

char ch1[]={'h','e','l','l','o'};
char ch2[]={"hello"};
    其中ch1所占长度为5个字节,ch2占6个字节。原因是结尾是否有\0。两个字符串长度均为5。
  • 字符数组的输出:逐个字符输出:%c,整个字符串一次输出:%s 用%s输出时,输出项是字符数组名,不是数组元素名。 如果字符数组内包含一个以上\0,则遇到第一个就停止输出。

  • 字符数组的输入:如果只写数组名,则数组名前面不用加&。对于scanf输入字符或字符串时,要在后面加上最大长度的参数。


strlen函数和sizeof求字符数组的长度和所占字节

  1. strlen:格式为 strlen(字符数组名)
  2. sizeof:格式为 sizeof(字符数组名)

    strlen用来计算字符数组中字符串的长度,sizeof当前是用来计算这个字符数组共占了多大的空间。
    eg:
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/BeatRex/article/details/75418045