c语言字符与字符串问题

字符'a'与字符串"a"是同一类型吗?它们存储的值一样吗?还是它们完全不同

不是同一类型,字符'a'只占了一个字节,字符串的后面是有个结束符'\0',因此"a"实际的储存空间站两个字节,为{a,\0}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-06
你问的其实是C语言中字符常量和字符串常量的区别。

字符常量:在C语言中一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。大小写字母代表不同的字常量;单引号中的空格也是;字符常量只能包含一个字符;字符常量只能用但括号括起来。下面是常用字符的SACII
'a’--'z' 97------122
'A’--'Z' 65-------90
'0'---'9' 48-------57

字符串常量:字符串常量是用双引号括起来的,在C语言中系统会在每个字符串的最后自动加入一个'\0'作为字符串的结束标志。
区别:'a'是字符常量,占一个字节;"a"是字符串常量,占两个字节,后面一个字节放'\0'。

它们两个的用法都明白了,区别就知道了本回答被提问者采纳
第2个回答  2013-01-06
不一样呀
字符'a' 在C语言里安ASCII储存
字符串"a" 里面的a换成什么都是一个字符串 eg “efw34”什么的 就是个字符串
如果你把字符串 t=“efw34”; 这样定义了 输出函数写printf("%s",t); 就相当于printf( “efw34”);
第3个回答  2013-01-06
不是同一类型,在内存中 ‘a’占用一个字节,“a”占用两个字节('a''\0')
第4个回答  2013-01-06
不一样,单引号引起来的是一个字符,双引号引起来的是字符串,字符串的后面都会有‘\0’作为字符串的结束标志,‘\0’也是一个字符