欢迎访问文稿网!

字符串数组长度可以变化吗

范文之家 分享 时间: 加入收藏 我要投稿 点赞
3

字符串数组长度可以变化吗

    4.3.1 字符数组的定义和初始化

    定义并初始化字符数组有两种方法。

    1)用字符为字符数组赋初值

    例如:

      char word1[4]={'t', 'r', 'e', 'e'};

    定义了一个长度为4的字符数组word1,其下标变量对应的值如图4.3.1所示。

    img251

    

    图4.3.1 word1数组

    2)用字符串常量为字符数组赋初值

    例如:

      char word2[5]="t ree";

    定义了一个长度为5的字符数组word2,其下标变量对应的值如图4.3.2所示。

    img252

    

    图4.3.2 word2数组

    注意:word1和word2都是字符数组,但由于赋初值的方式不同,因此数组的大小是不同。这是由于C语言会自动在字符串常量的结尾添加一个终止符'',因此word2中的字符数(字符串长度)为4,而数组长度为5。

    在用字符串初始化字符数组时,如果在定义时字符数组的长度比字符串长度大,则自动为多余的元素赋初值''。例如:

      char word3[10]= "t ree";

    对应的字符数组word3如图4.3.3所示。

    img253

    

    图4.3.3 word3数组

    如果初始化时,字符数组的长度小于或等于字符个数,会产生错误。为避免这种错误,可以使用

      char word4[ ]="t ree";

    省略数组的长度,系统会根据初始化字符串的长度自动补上数组的长度,例如word4的长度即为5。

    使用字符数组,也必须避免下标越界。下面的程序可以通过编译,但可能在运行中产生错误。

    img254

221381
领取福利

微信扫码领取福利

微信扫码分享

阅读并接受《用户协议》
注:各登录账户无关联!请仅用一种方式登录。


用户注册协议

一、 本网站运用开源的网站程序平台,通过国际互联网络等手段为会员或游客提供程序代码或者文章信息等服务。本网站有权在必要时修改服务条款,服务条款一旦发生变动,将会在重要页面上提示修改内容或通过其他形式告知会员。如果会员不同意所改动的内容,可以主动取消获得的网络服务。如果会员继续享用网络服务,则视为接受服务条款的变动。网站保留随时修改或中断服务而不需知照会员的权利。本站行使修改或中断服务的权利,不需对会员或第三方负责。

关闭