您现在的位置是:群英 > 开发技术 > 编程语言
C语言的字符串的结束标志怎样写,有什么要注意
Admin发表于 2022-11-11 17:47:03479 次浏览
这篇文章主要为大家详细介绍了C语言的字符串的结束标志怎样写,有什么要注意的内容,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望对大家学习或工作能有帮助,接下来就跟随小编一起来学习吧。

C语言中字符串的结束标志是【'\0'】。C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串,字符串总是以【'\0'】作为结束符。

'\0'就是8位的00000000,因为字符类型中并没有对应的这个字符,所以这么写。'\0'就是 字符串结束标志。

'\0'是转译字符,意思是告诉编译器,这不是字符0,而是空字符。空字符\0对应的二进制为00000000,而数字0为00110000。

原来,在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是以'\0'作为串的结束符。因此当把一个字符串存入一个数组时,也把结束符 '\0'存入数组,并以此作为该字符串是否结束的标志。有了'\0'标志后,就不必再用字符数组的长度来判断字符串的长度了。

说明:

把一个字符串赋值给数组:u8 str1[]={"cxjr.21ic.org"}; 实际上数组str1在内存中的实际存放情况为:c x j r . 2 1 i c . o r g '\0' 。这后面的'\0'是由C编译系统自动加上的。所以在用字符串赋初值时一般无须指定数组的长度, 而由系统自行处理。把字符数组str1中的字符串拷贝到字符数组str2中。串结束标志'\0'也一同拷贝。

个案:

1、当数组长度不够。假设我们指定了数组长度,如:u8 str1[13]={"cxjr.21ic.org"}; 由于字符组str1的长度为13,所以后面的信息会丢失,即'\0'丢失。

2、如果在给数组赋值时,把每个字符单独用引号括起来。也会丢失'\0'。如:u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g'}; 如果希望数组以'\0'结束,则可以写成以下三者之一:

u8 str1[]={"cxjr.21ic.org"}; //字符串赋值
u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g','\0'}; //人工添加
u8 str1[14]={'c','x','j','r','.','2','1','i','c','.','o','r','g'}; //故意给数组预留一个空位

代码示例:

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{    char s[] = "10";
    printf("%s\n", s);
    printf("s[1]:%d\n", s[1]);
    printf("s[2]:%d\n", s[2]);
    printf("s[1]:%c\n", s[1]);
    printf("s[2]:%c\n", s[2]);    char u[] = {"hello"};
    cout << sizeof(u) / sizeof(*u) << endl;    char v[] = "hello";
    cout << sizeof(v) / sizeof(*v) << endl;
}

运行结果:


以上就是关于C语言的字符串的结束标志怎样写,有什么要注意的介绍,本文内容仅供参考,有需要的朋友可以借鉴了解看看,希望对大家学习或工作,想要了解更多欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-01-20 19:46:48 
摘要:这篇文章我们来了解Java中indexof方法的相关内容,Java中indexof方法有两种使用,下文有详细的介绍,对新手学习和理解indexof方法的使用有帮助,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
2022-08-23 17:07:10 
摘要:给大家带来一篇关于jQuery如何实现平滑滚动的标签分栏切换效果的相关教程文章,内容涉及到jQuery、平滑滚动、标签分栏、切换、jQuery实现平滑滚动的标签分栏切换效果等相关内容
2022-08-06 17:56:44 
摘要:如果我们希望记录下所有的请求的log信息还希望在调用相应的route时确认请求的UA是否是我们允许的可以通过Use函数添加相应的middleware。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部