关于char数组和字符串的一些问题
来源:互联网 发布:淘宝店铺说手机保修 编辑:程序博客网 时间:2024/05/21 20:23
如果有人问我char数组和字符串的区别,说实话,我回答不出。过去的学习看来的确比较马虎,基础十分不牢靠。。。汗~~
这次重新看《C++ Primer Plus》,看了第四章,对这个问题有了比较清楚的概念。
C或者类C的语言中,字符串都是以空值字符结尾(null character)。
在具体实现中,写作"/0"。
它的ASCII码值为0,归根结底,是否以"/0"结尾成为判断字符串和char数组的关键所在。
下面是我用c写的一个小例子
#include"stdio.h"
main()
{
int i;
char array1[5]={'B','A','a','I','a'};
char array2[5]={'B','A','/0','I','a'};
char string1[]="C program";
char string2[]="C/0 program";
for(i=0;i<=4;i++)
{
printf("%c",array1[i]);
}
printf("/n");
for(i=0;i<=4;i++)
{
printf("%c",array2[i]);
}
printf("/n");
printf("%s/n",string1);
printf("%s",string2);
getch();
}
输出是:BAaIa
BA Ia
C program
C
显然,在字符串中,编译器一旦捕捉到"/0"的出现,就认为字符串到此为止,停止操作。
而在数组中,"/0"仅仅被当作一个空字符处理。
在某些程序中,要注意区别对待这两者。
- 关于char数组和字符串的一些问题
- 关于数组指针,指针数组和字符串数组的一些问题
- char*数组(c类型字符串)和Vc++中的CString的转换,char*数组等问题
- 关于char数组初始化的一些细节
- 关于char数组初始化的一些细节
- 关于指针字符串和数组字符串的一些经验
- 字符串数组char[]和字符串指针char*的讨论
- char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
- char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
- 关于字符串与字符数组的一些小问题
- 关于一级数组和二级数组的一些问题
- java的字符串和char数组
- 字符串和char数组的相互转换
- JS关于字符串和数组的一些使用方法
- 关于数组的一些问题
- 关于指针char *p和数组char p[] 的区别
- 关于字符串数组的问题
- 关于json对象和数组的访问的一些问题
- 智慧书——永恒的处世经典(正文 1-60)
- 智慧书——永恒的处世经典(正文 61-120)
- 使用vector 模板求素数
- 和大家分享的五句话
- 网络工程师应试经验谈
- 关于char数组和字符串的一些问题
- 关于c#中的消息处理函数和vc中的消息处理函数区别(引自ucucf的专栏)
- 在C#中使用MSHTML的高级支持接口(引自http://www.vckbase.com/document/viewdoc.asp?id=1018)
- VBScript在PD中的应用
- 我的系统分析员论文,我的目标
- MSN Messenger 7.0 透露
- VC++6.0中用MFC进行COM编程
- C#中调用消息对话框,并取得其返回值
- 经济社会