您好、欢迎来到现金彩票网!
当前位置:21点 > 字符串 >

c语言字符型和字符串型的区别?

发布时间:2019-08-09 23:28 来源:未知 编辑:admin

  我是初学者,书上有这么一段:“不要将字符常量与单字符的字符串常量混淆。例如:charc;c=a;是正确的,而c=a是错误的;c=abcd也是错误的。为什么最后一个错误啊?声明字符串常量...

  我是初学者,书上有这么一段:“不要将字符常量与单字符的字符串常量混淆。例如:

  为什么最后一个错误啊?声明字符串常量是不是不能用char啊?应该用什么?

  (另外请帮我看看这个问题,回答好了追加10分)展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  声明字符串常量也能用char.要用到数组.(如果你没学到数组,等你学了以后就明白了)例:

  printf(%s,string); //打印字符串string(abcd)

  因为你在上面定义了c为字符形式,而字符形式就占一个字节,所以c=a;是对的,但c=a ;则是错的了.因为字符型是用单引号的. 字符串是是用双引号的.

  而字符串储存的时候,系统会自动在在字符串的后面增加一个结束号0,而这个号是系统自动增加的,每个字符串都会有的,而这个结束符占了一个字节,而字符类型的C只有一个字节,所以是错误的.c=abcd;而只一个更不用说了,差了4个字节,当然不行了.

  字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。

  char a,b; 每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。

  字符串常量是由一对双引号括起的字符序列。例如: CHINA ,C program: , $12.5 等都是合法的字符串常量。字符串常量和字符常量是不同的量。它们之间主要有以下区别:

  3.可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在C语言中没有相应的字符串变量。

  这是与BASIC 语言不同的。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。

  4.字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符0(ASCII码为0)。这是字符串结束的标志。例如,字符串 C program在内存中所占的字节为:C program0。字符常量a和字符串常量a虽然都只有一个字符,但在内存中的情况是不同的。

  字符串表示时要用双引号括起来,如china。字符串可以看成是一个由字符元素组成的数组,它的定义方法如char c[100];表示一个最多可以有100个字符的字符串,它的赋值如c={china};,要有中括号和双引号。

  char是字符型的,占一个字节内存,每个字母占一个内存。所以c=a是对的

http://magaltouba.com/zifuchuan/423.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有