问题描述
有什么区别
char name='chiheb';
char name="chiheb";
我也对 char 如何允许多个字符感到困惑。string 和 char 之间有什么区别;
解决方法
在 char
类型的对象的第一个声明中,由一个多字节整数字符常量初始化,其值是实现定义的。
对于第二个声明,编译器将发出一条消息,提示您尝试将指针转换为整数,因为用作初始化程序的字符串文字已转换为指向其 char *
类型的第一个元素的指针。
一个有效的声明看起来像这样
char name = "chiheb"[0]; // or some other used valid index
或
char name = *"chiheb";
或
char *name = "chiheb";