请问C语言定义变量时,加入引号则出问题,不加则的原因

我是一个C语言初学者,使用的软件是CLion。我找到了一个教程,内容是新建变量的方式。于是我照着写。

int main()
{
    char a;
    char ch = a;
}

此时,没有出现错误。然而当我尝试加入双引号的的时候出现了错误。

int main()
{
    char "a";
    char ch = "a";
}

此时提示
1⃣️Expected identifier or '('
2⃣️Incompatible pointer to integer conversion initializing 'char' with an expression of type 'char[2]'

我想请教下这是什么原因导致的。

第一个问题:你看下变量命名的要求,只能是数字,字母和下划线,且数字不能开头,字母区分大小写,没有其他的方式,所以你的引号是多余的,也就是说变量的命名用不到引号。
第二个问题:char类型只能复制一个字符,表示字符需要用单引号,只有字符数组,也就是char〔〕才是被赋值字符串,然后表示字符串需要用双引号裹起来。

你定义错啦,你想想嘛: i 3; 能这样定义嘛?明显是错的啊

  • 变量名的开头必须是字母或下划线,不能是其他字符。
  • "a" 表示这是一个字符串,需要字符数组接收
char b[] = "a";
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^