c++原始字符串,c语言字符串初始值
Yyds干货库存
大家好,我是李泽。希望看完之后能帮到你。如有不足请指正!一起学习交流。
2021博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~ ~阿里云专家博主明星博主~掘金InfoQ ~ P Creator ~周榜126(总榜886) 35w全网访问量
本文原载于P,作者Yuze。如需转载请告知。
个人主页51Ctop P博客
欢迎喜欢你喜欢的留言。
系列专栏51Ctop _ 博客的分类
我们不在自己选择的舞台上,表演也不是自己选择的剧本。
弦乐简介“hello Cyuyan\n”
这种由双引号引起的字符串称为字符串文字值,缩写为:字符串双引号不是字符串的一部分。双引号只是告诉编译器它正在封闭一个字符串。注意:字符串的结束符号是反斜杠(\0)的转义字符。当计算机字符串很长时,反斜杠(\0)不作为字符串的内容。简单来说:字符串就是用双引号括起来的一串字符。不是双引号字符串的一部分。双引号只是告诉编译器它括住了一个字符串,就像单引号用来标识单个字符一样。证明字符串中的\0是一串字符,即多个字符。如果要存储多个字符,就需要一个概念:字符数组——数组是一组相同类型的元素。那么我们来证明字符串数组中是否会有反斜杠(\ 0)char arr[]= hello C ;
从这里可以看出,总共有7个元素,但这里只有6个字符。实际上这里的字符隐藏中存储了一个反斜杠\0,在上图中可以看到末尾有一个 \0 。总之,字符串在末尾隐藏了一个“\0”。
反斜杠(\0)是字符串中的结束符号!
代码显示了这两种形式之间的差异,如下例所示:
#包含stdio.h
int main(void){
char arr 1[]= helloC ;
char arr2[]={ h , e , l , l , o , c };
printf(arr1=%s\n ,arr 1);
printf(arr2=%s\n ,arr 2);
返回0;
}首先:调试时用监控窗口给你看区别!
不知道大家有没有注意到,我们在arr1数组的时候末尾有一个反斜杠(\0),而在arr2数组的时候没有反斜杠(\0)。
其次:再次运行结果,向您展示不同之处!
从我们这里打印的结果可以看出是不一样的。第一种方式打印时只打印helloC,第二种方式打印时后面有乱码!那为什么这个会出现在第二种。在第一个arr1数组中存储的内存中,存储的是helloC\0,也就是我们arr1数组中存储的内容。arr2数组的内容也存储在内存块中,helloc也存储在其中。请注意我粗体字的区别。我打印arr1数组的时候是因为后面有一个反斜杠(\0)来停止字符串,而arr2数组没有反斜杠(\0)。我们完全不知道它背后是什么。所以后面空间的内容就不得而知了。对于未知的内容,那么我们打印出来的自然是未知的,从而打印出乱码。当arr1数组中有一个反斜杠(\0)时,那么你就知道要停止了。
那么我们来看看我们主动给这个arr2数组字符串加上反斜杠(\0)的结果:# includestdio.h。
int main(void){
char arr 1[]= helloC ;
char arr2[]={ h , e , l , l , o , \ 0 };
printf(arr1=%s\n ,arr 1);
printf(arr2=%s\n ,arr 2);
返回0;
}运行结果:
这种情况再次充分证明了一个字符串的结束符号是反斜杠(\0),这对一个字符串非常重要。好好利用这一点,可以让你的程序上一层楼。
strlen库函数strlen用于计算字符串str的长度(要计算长度的字符串)!
#include string.h提供strlen()函数的原型。
string.h头文件包含多个与字符串相关的函数原型!
声明:size _ tstren (constchar * str)
演示strlen()函数的实际用法:
#包含stdio.h
#包含字符串. h
int main(void){
字符串[50];
strcpy(str,我一直喜欢C语言);
int len=strlen(str);
printf( % s 的长度为:%d\n ,str,len);
return(0);
}
当编译并执行上述代码时,它会产生以下结果:
下面是strcpy的作用:复制字符串声明:char * strcpy (char * dest,const char * src)dest指向用来存储复制内容的目标数组。src要复制的字符串。注意:当我们用string函数求长度时,反斜杠(\0)不算长度。当然,C语言中有很多字符串函数,后面会告诉你。现在我们的知识是初步的!
Yuze 51Ctop,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。