已知char c=’a‘;char *cp=“a”;请问c和 cp的区别?
解析:
其中c与cp都是变量而’a‘,“a”都是常量。考察两方面:
字符变量与字符指针变量的区别。
字符常量与字符串常量的区别。
区别如下:
(1)c是字符常量,用于代替单个字符。cp是字符指针变量,用于传递字符串。
(2)c变量代替的是一个字符常量’a‘;而cp指针变量指向的是字符串常量"a";
(3)'a'在内存中占一个字节;“a”在内存中占两个字节,因为最后一个是字符串结束符’\0‘
(4)可以把一个字符常量赋给一个字符变量,但不能把一个字符串常量付给一个字符变量(会出错,不是简单的截取);
(5)字符常量占一个字节的内存空间,字符串常量所占内存字节数等于字符串中字节数+1(加了一个字符’\0‘,即ASCII码中的0(int))