c语言字符串赋初值并输出字符,C语言字符串使用指南

写在前面:学习的第一门语言是Java,之前对C也了解一点,也只是了解一点,在加上长时间没有接触了,基本就只会一个Hello World了。现在由于准备升本考试,不得不从头开始学C。这里从零开始,记录C语言学习点滴。欢迎正在学习C语言的小伙伴一起学习,未来可期,一起加油!

在C语言里边是没有字符串数据类型的,但在平时开发中肯定是少不了字符串操作的。因为字符串都是有字符组成的,所以在C语言中字符串是通过一维字符数组来实现的。

字符串

字符串常量就是用一对双引号括起来的字符序列,即一串字符,它有一个结束标志’ \0 '。例如,字符串 “happy” 有6字符组成,分别为 ’ h ‘、’ a ‘、’ p ‘、’ p ‘、’ y ’ 和 ’ \0 ‘,其中5个是字符串的有效字符,’ \0 ’ 是字符串结束符。

字符串的有效长度就是有效字符的个数,例如,“happy”的有效长度是5。

字符串的存储——数组初始化

字符串可以放在一维字符数组中。例如:

static char s[6] = { 'h', 'a', 'p', 'p', 'y', '\0' };

数组 s 中存放了字符串“happy”。

字符数组的初始化还可以使用字符串常量,上述初始化等价于:

static char s[6] = { "happy" };

static char s[6] = "happy";

将字符串存入字符数组时,由于它有一个结束符’ \0 ',数组长度至少是字符串的有效长度+1。例如,字符串“happy”的有效长度为5,存储它的数组的长度至少应为6。

如果数组长度大于字符串的有效长度+1,则数组中除了存入的字符串,还有其他内容,即字符串只占用了数组的一部分。例如:

char str[90] = "happy“;

上述代码只对数组的前6个元素(str[0] ~ str[5])赋初值,其他元素的值不确定。但这并不会影响对字符串“happy”的处理,由于字符串遇‘ \0 ’结束,所以,数组中第一个’ \0 ’ 前面的所有字符和第一个’ \0 ’ 一起构成了字符串“happy”,也就是说,第一个‘ \0 ’之后的其他数组与该字符串无关。

字符串由有效字符和字符串结束符’ \0 '组成。

字符串的存储——赋值和输入

将字符串存入数组,除了上面介绍的初始化数组,还可以采用赋值和输入的方法。例如:

static char s[80];

s[0] = 'a';

s[1] = '\0';

采用赋值的方法将字符串 “a” 存入数组s。它等价于:

static char s[80] = "a";

区分 “a” 和 ‘a’,前者是字符串常量,包括 ‘a’ 和 ‘\0’ 两个字符,用一维字符数组存放;后者是字符常量,只有一个字符,可以赋给字符变量。

输入的情况有些特殊,由于字符串结束符 ‘\0’ 代表空操作,无法输入,因此,输入字符串时,需要事先设定一个输入结束符。一旦输入它,就表示字符串输入结束,并将输入结束符转换为字符串结束符 ‘\0’。例如ÿ

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值