首页 > 解决方案 > 在 c 中用 '' 或 "" 声明 char 变量的区别

问题描述

有什么区别

char name='chiheb';

char name="chiheb";

我也对 char 如何允许许多字符感到困惑。 string 和 char 之间有什么区别?

标签: cchardeclarationstring-literalsmultibyte-characters

解决方案


在该类型对象的第一个声明中,char由一个多字节整数字符常量初始化,其值由实现定义。

对于第二个声明,编译器将发出一条消息,表明您正在尝试将指针转换为整数,因为用作初始值设定项的字符串文字已转换为指向其类型的第一个元素的指针char *

例如,一个有效的声明看起来像

char name = "chiheb"[0]; // or some other used valid index

或者

char name = *"chiheb";

或者

char *name = "chiheb";

推荐阅读