当前位置:首页 » 编程语言 » c语言数组结尾有0吗
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言数组结尾有0吗

发布时间: 2023-01-27 00:50:06

1. c语言,字符数组中最后一个字必须为‘\0’,为什么错

c语言中字符数组并没有规定最后一个字符为'',甚至可以不包含'',添加''作为结束标志是针对于c语言对字符串的处理而言的,因此,字符数组中最后一个字必须为‘’是错误的。

C语言中没有字符串类型,字符串是存放在字符型数组中的。在C语言中,是将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符''作为结束标志 。

例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素。这样的字符数组长度为8,并没有在最后添加''符号,但其初始化是完全正确的。

(1)c语言数组结尾有0吗扩展阅读:

C语言对''结束的相关处理:

1、字符数组的初始化,如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'')。例如:char a[9]={'1','2','3','4','5','6','7','8'};中,初始化数值只提供了8个,但字符长度为9,因此,会自动在补充空字符(即'')。

2、字符串常量初始化数组。

例如:char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};可写为:char c[ ]={"C program"} 或去掉{}写为:char c[ ]="C program";注意:此时数组c的长度不是9,而是10。因为字符串常量的最后由系统加上一个''。上面的初始化与下面的初始化等价。

2. 0是C语言字符串结束标志

这么说吧,'\0'是字符串数组的结束标志,而0则是'\0'的ASCII码表示,是第一个ASCII码,数字0的ASCII码是48,所以写程序你要用'\0'结尾,比如char
a[3]
=
{'h','i','\0'},或者直接char
a[]
="hi",编译器都会认为是字符串数组,且以'\0'结束。你调试程序时,可以看到内存里面是0,这是ASCII码的表示,也可以看作是一个unsigned
int类型。

3. c语言整形数组的结束符是什么

一个是整型数组,一个是字符数组,不一样的.
整型数据不是以\0结束的,而字符数组最后要存放一个\0的.
如int
a[4],可以存放4个int型数据,如int
a[4]={1,2,3,4}
char
a[4],也可存放4个字符,但最后一个字符得为\0,不然不能正常输入字符串.
char
a[4]={'a','b','c','\0'},当然'\0'也可以省略,char
a[4]={'a','b','c'}
但不能是char
a[4]={'a','b','c','d'},输出的时候会有乱码,因为没有结束标志.

4. 0在c语言中是什么意思痛风

‘0’是字符常量,字符串常量和字符常量是不同的量。c语言是一门面向过程、抽象化的通用程序设计语言,c语言字符串数组结尾就是0,表示这串字符到结尾了,但一般这个0是不会看到的。