在C语言中如何使用字符串,字符数组与字符串的详细分析。

 我来答
陪你看海716
2013-10-26 · 超过57用户采纳过TA的回答
知道答主
回答量:163
采纳率:0%
帮助的人:53.9万
展开全部
字符数组主要有两种用途,(1)存储字符串,(2)存储字符或字符变量。这两个是不同的,刚开始接触时很容易混淆。下面进一步分析这两者的不同。
首先初始化时不同,
用于存储字符串,例如:char
str[]="Hello";
用于存储字符或字符变量,例如:char
Chars[]={`H``e`,`1``1`,`o`}。这两者的存储方式是一样的,但是存储内容稍微有所不同,那就是第一种情况会在结尾加上‘\0’,存储情况类似于{`H``e`,`1``1`,`o`,`\0`},存储空间会比第二种情况大一点,但是这个存在空间并不被计算进字符串(其实只是字符数组)变量中。
C语言中提供的字符串操作函数其实是针对于结尾是`\0`的字符数组进行的。输出函数printf中的输出参数%s也是针对于结尾是`\0`的字符数组。
另外,还有一种方法可以定义字符串(其实也是字符数组),申明如下:
char * string = "this is a point
charArray.";字符指针指向字符数据的第一个字符的位置。
最后,有两点特别说明。
(1)字符串常量给出的是地址值。如
char *p, s[10];
p="hello";//正确
(2)不能用赋值语句给字符数组整体赋一串字符,例:
char str[10];
正解的赋值办法是给数组元素逐个赋字符值,最后人为加'\0'。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式