在c中用''或“”声明char变量之间的区别

问题描述

有什么区别

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";