要如何自己创建一个网站,青岛平面设计公司,哈尔滨快速建站合作,沈阳网站建设公司设计师C语言中字符串的结束标志是【\0】。C语言中没有专门的字符串变量#xff0c;通常用一个字符数组来存放一个字符串#xff0c;字符串总是以【\0】作为结束符。\0就是8位的00000000#xff0c;因为字符类型中并没有对应的这个字符#xff0c;所以这么写。\0就是 字符串结束标… 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 #include #include 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;}运行结果声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。