精华内容
下载资源
问答
  • 字符串和字符串结束标志

    千次阅读 2018-04-03 16:19:59
    字符串常量总是'\0'作为 结束标记,因此当把字符串存入数组时,也把结束符'\0'存入数组,并以此作为该字符串是否结束标志。C语言允许用字符串的方式对数组作初始化赋值。例如:char c[]={'c', ' ','p','r','o',...

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

    C语言允许用字符串的方式对数组作初始化赋值。
    例如:
    char c[]={'c', ' ','p','r','o','g','r','a','m'};
    可写为:
    char c[]={"C program"};
    或去掉{}写为:
    char c[]="C program";
    用字符串方式赋值比用字符逐个赋值要多占一个字节, 用于存放字符串结束标志'\0'。
    上面的数组 c 在内存中的实际存放情况为:
    C p r o g r a m \0
    ‘\0'是由 C 编译系统自动加上的。由于采用了‘\0'标志,所以在用字符串赋初值时一般无须指定数组的长度, 而由系统自行处理。


    展开全文
  • 字符串与字符串结束标志

    千次阅读 2020-02-05 16:20:33
    1、在C语言中,是将字符串作为字符数组来处理的。例1就是用一个一 维的字符数 来存放字符串I am a student. ”的,字符串中的字符是逐个存放到数组元素中的。...语言规定了个“字符串结束标志”。...

    1、在C语言中,是将字符串作为字符数组来处理的。例1就是用一个一 维的字符数 来存放字符串I am a student. ”的,字符串中的字符是逐个存放到数组元素中的。在该例中,字符串的实际长度与数组长度相等。
    2、在实际工作中,人们关心的往往是字符串的有效长度而不是字符数组的长度。例如 文一个字符数组长度为100,而实际有效字符只有40个。为了测定字符串的实际长。语言规定了个“字符串结束标志”。 以字符’\0’作为结束标志。如果字符数干字符前面9个字符都不是空字符()0’),而第10个字符是\0,则认为数组中有一个符串,其有效字符为9个。也就是说,在遇到字符’\0’时,表示字符串结束,把它前组成一个字符串。
    注意:C系统在用字符数组存储字符串常量时会自动加一个\0作为结束说明:C program”共有9个字符,字符串是存放在一维教组中的,在数组中它占10个节一个字节’\0’是由系统自动加上的。
    有了结束标志\0后,字符数组的长度就显得不那么重要了。在程序中往往依靠检测‘\0’的位置来判定字符申是否结束,而不是根据数组的长度来决定字符串长度,是否此,为 在定义字符数组时应估计实际字符串长度,保证数组长度始终大于字符串实际长度,符数果在一个字符数组中先后存放多个不同长度的字符串,则应使数组长度大于最长的字符串长度;
    例1:
    #include<stdio.h>
    int main()
    {
    char[15]={‘I’,’ ‘,‘a’,‘m’,’ ‘,‘a’,’ ‘,‘s’,‘t’,‘u’,‘d’,‘e’,‘n’,‘t’,’.’};
    int i;
    for(i=0;i<15;i++}
    printf("%c",c[i]);
    printf("\n");
    return 0;
    }

    说明

    字符数组并不要求它的最后一个字符为’\0,甚至可以不包含0’。像以下这
    精格依祥写完全是合法的,
    如:charc[5]={‘C’,‘h’,‘i’,‘n’,‘a’);
    是否需要加’0’,完全根据需要决定。由于系统在处理字符串常量存储时会自动加一个\0’,因此,为了使处理方法一致,便于测定字符串的实际长度,以及在程序中作相应的处 理,在字符数组中也常常人为地加上一个’\0’。
    例如:
    charc[6]={‘C’,‘h’n’,‘a’,’\0’}
    这样做,便于引用字符数组中的字符串。
    如定义了以下的字符数组:
    char[ ]={“C program.”}
    由于系统自动在字符串常量的最后一个字符后面加了一个0’,因此c数组的存储情况如下:
    C
    若想用一个新的字符串代替原有的字符串"C program.",如从键盘输人Hello’分别赋 给c数组中前面5个元素。如果不加\0’的话,字符数组中的字符如下:
    在这里插入图片描述
    新宇符串和老字符串连成-片.无法区分开。 如果想输出字符数组中的字符串 ,则会连续输出:
    Hellogram.
    如果在"Hello"后面加一个‘0’ ,它取代了第6个字符’g’.在数组中的存储情况为
    在这里插入图片描述
    ‘\0’是字符申结束标志,如果用以下语句输出数组C中的字符串:
    printf("%s\n" ,c); //输出数组c中的字符串
    在输出字符数组中的字符串时,遇’\0’就停止输出,因此只输出了字符H"Hell".而不会输 出“Hllogram."

    展开全文
  • C语言字符串结束标志

    千次阅读 2020-11-12 00:11:11
    为了测定字符串的实际长度,C语言规定了一个字符串结束标志 ‘\0’ 作为标志,如果一个字符串为9个,前面九个都不为空字符,那么第十个字符为 ‘\0’,也就是说在遇到字符 ‘\0’ 时,表示字符串结束,之后由它前面...

    为了测定字符串的实际长度,C语言规定了一个字符串结束标志 ‘\0’ 作为标志,如果一个字符串为9个,前面九个都不为空字符,那么第十个字符为 ‘\0’,也就是说在遇到字符 ‘\0’ 时,表示字符串结束,之后由它前面的字符组成一个字符串。

    而编译系统经常会在处理字符串常量时会自动加一个 ‘\0’ 作为结束符。字符串作为一维数组存放在内存中。有了结束标志后,字符数组的长度也就不重要了,在程序中往往依靠检测 ‘\0’ 的位置来判定字符串是否结束,而不是根据数组的长度来决定字符串的长度。当然在定义中也应当估计实际字符串长度,保证数组长度始终大于字符串实际长度。

    char c[]={"i am cattyo"};
    char c[]="i am cattyo"; //也可以省略大括号
    

    如果当字符串中提前出现’\0’,那么这个字符串将会输出’\0’以前的字符。

    char c[]="abc\0def";
    

    此时输出结果为abc

    补充: ‘\0’ 代表ASCII码为0的字符,从ASCII码表中可以查到,ASCII为0的字符不是一个可以显示的字符,而是一个空操作符,即它什么都不做。我们可以用它来作为字符串结束标志不会产生附加的操作或增加有效字符,只是一个供辨别的标志。

    展开全文
  • C语言中字符串字符串结束标志

    千次阅读 2020-06-19 13:52:16
    一 概述 在C语言中,是将字符串作为...在C语言中规定了一个"字符串结束标志"。即字符"\0"作为结束标志。如果字符数组存在若干字符,前面的8个字符都不是空字符"\0",而第9个字符为空字符"\0",则认为数组中字符串的

    一 概述

    在C语言中,是将字符串作为字符数组来处理的,也就是使用一个一维字符数组来存放字符串。字符串中的字符是逐个存放在数组元素中的。

    我们在讨论字符串长度的时候实际上讨论的是字符串的实际长度,而非对应字符数组的长度。如,定义一个字符数组长度为100,实际有效的字符只有40个。那我们如何通过实际代码知道位置字符串的长度呢。在C语言中规定了一个"字符串结束的标志"。即以字符"\0"作为结束标志。如果字符数组存在若干字符,前面的8个字符都不是空字符"\0",而第9个字符为空字符"\0",则认为数组中字符串的有效长度为8。

    C系统中使用字符数组存储字符串的常量的时候会自动加一个'\0'作为结束符。

    二 说明

    '\0'代表ASCII码为0的字符,从ASCII码表中可以查到。ASCII码为0的字符并不是一个可以显示的字符,而是一个"空操作符",即它什么也不做,只是用来作为字符串结束的标志不会产生附加的操作或增加有效字符,只是达到一个辨别的标志。

    三 系统识别结束的原理

    例子:printf("How do you do? \n")

    实际上,在向内存中存储时,系统自动在最后一个字符'\n'的后面加上一个'\0',作为字符串结束的标志。而在执行printf函数时,没输出一个字符检查一次当前字符是否为'\0',如果是'\0'就会停止输出。

    四 字符串常量初始化字符数组

    如 char c[] = {"I am happy"}; 此时我们可以省略花括号,直接写成:char c[] = "I am happy"; 后者直接使用字符串常量初始化字符数组。

     

     

     

     

    展开全文
  • 字符数组存储在全局数据区或栈区,第二种形式的字符串存储在常量区。全局数据区和栈区的字符串(也包括其他数据)有读取和写入的权限 ! 而常量区的字符串(也包括其他数据)只有读取权限 ! 没有写入权限。 因为 常量...
  • C++字符串和字符串结束标志

    千次阅读 2017-08-03 10:52:59
    用一个字符数组可以存放一个字符串中的字符。如: char str[12]={‘I’,’ ‘,’a’,’m’,’ ‘,’h’,’a’,’p’,’p’,’y’}; 用一维字符数组str来存放一个字符串″I am happy″中的字符。字符串的实际...
  • 字符串和字符串结束标志(一)

    万次阅读 2017-04-27 20:12:36
     C系统在用字符数组存储字符串常量时会自动加一个‘ \ 0 ’ 作为结束符。例如“C program”共有9个字符。字符串是存放在一维数组中的,在数组中他占10个字节,最后一个字节‘\0'是系统自动加上的。  有个结束标志...
  • 字符串和字符串结束标志(二)

    千次阅读 2017-04-28 22:52:12
    若想用一个新的字符串代替原有的字符串“C program.”,从键盘输入“Hello”分别赋给c数组中前面5个元素。如果不加'\0'的话字符串数组中的字符如下:  'H','e','l','l','o','g','r','a','m','.','\0'  新字符串...
  • C语言规定:’\0’作为字符串结束标志(’\0’代表ASCII码为0的字符,表示一个"空操作",只起一个标志作用)。 因此可以对字符数组采用另一种方式进行操作了──字符数组的整体操作。 注意:由于系统在...
  • \0 字符串结束标志

    千次阅读 2019-10-17 13:56:35
    '\0'就是 字符串结束标志。 %s ,打印Log ,需要添加\0识别字符串的结束。 '\0'就是8位的00000000,因为字符类型中并没有对应的这个字符,所以这么写。在数值类型里就代表数字0。 数值类型存储时,最高位决定正负...
  • C语言中字符串结束

    千次阅读 2019-10-08 04:49:58
    '\0'就是字符串结束标志。 1. 字符串变量str[] 在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是'\0'作为串的结束符。因此当把一个字符串存入一个数组时,也把结束符 '\0'存入...
  • 字符串以0为结束标志

    千次阅读 2016-09-14 20:19:00
    1 char pp[100]; 2 char *kl = pp; 3 strcpy(kl,"23456"); 4 kl += 7; 5 strcpy(kl,"abcde"); //this will not show,because 0 is before them 6 cout << pp << "3...
  • C语言字符串结束

    千次阅读 2016-04-29 10:05:02
    '\0'就是 字符串结束标志。 '\0'是转译字符,意思是告诉编译器,这不是字符0,而是空字符。空字符\0对应的二进制为00000000,而数字0为00110000 原来,在C语言中没有专门的字符串变量,通常用一个字符数组来存放...
  • 文章目录字符串和字符串结束标志字符数组的输入输出用scanf函数输入使用字符串处理函数puts函数——输出字符串的函数gets函数——输入strcat函数——字符串连接符strcpy和strncpy函数——字符串复制函数strcmp函数...
  • 题目:已知字符串STRING'$'为结束标志;统计其中小写字母的个数,结果送到COUNT单元,;并把该字符串中的小写字母变成大写字母,其它字符保持不变。;要求分别在屏幕上输出原字符串以及修改后的字符串。代码:DATA ...
  • C语言中的字符串结束符'\0'

    千次阅读 2019-04-14 16:43:08
    字符串以‘\0’结尾,作为对字符串长度识别的标志,‘\0’在ASCLL码表中代表NUL,十进制为0. 我写了一个函数,大致功能是将字符串A复制到字符串B中(此时B中为空),返回复制后NUL在B中的地址。 void main() { char ...
  • C语言中字符串结束符'\0'

    千次阅读 2016-08-06 14:45:29
    '\0'就是 字符串结束标志。 '\0'是转译字符,意思是告诉编译器,这不是字符0,而是空字符。空字符\0对应的二进制为00000000,而数字0为00110000 原来,在C语言中没有专门的字符串变量,通常用一个字符数组来存放...
  • 字符串定义方法有2种方法:1)字符数组2)字符指针初始化1)字符数组方式初始化大致3种:(1) char str[10]="12345"或者char str[10]={'1','2','3','4','5'}; 这种方式初始化,系统会自动从未初始化的元素开始,将...
  • c语言字符串结束符的作用

    千次阅读 2020-02-24 12:28:15
    想要精通一门语言需要反复学习和思考,每一次学习都会有不同的体会.初学c语言的会后会有很多懵逼的地方,当有一定的c基础的时候,.../* c语言字符串结束符 */ #include<stdio.h> #include<string.h> void m...
  • c语言中字符串长度以及结束标志'\0'

    千次阅读 2019-07-02 08:31:54
    strlen(hello word):字符串为“hello word”这种字符串常量,系统会在其后自动补上’\0’;...strlen(hello\0world):其中的字符串为“hello\0word”,而strlen函数遇到’\0’就代表结束,所以返回值为5。 注意:当...
  • 字符串定义方法 有2种方法: 1)字符数组 2)字符指针 初始化 1)字符数组方式初始化大致3种: (1) char str[10]="12345"或者char str[10]={'1','2','3','4','5'};  这种方式初始化,系统会自动从未初始化的元素...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,640
精华内容 67,456
关键字:

以什么标志字符串的结束