C 变量选择无效

C 变量选择无效,c,C,我从Yashavant Kanetkar的一本书《Let us c》中学习c语言,在这本书中,有一个问题我们被要求找出变量在c中是否有效,有一个变量_main没有双倒逗号,通常我们知道不能在变量名中使用,但在解决方案书中,这个变量被称为是有效的。所以请帮助我,我是c新手,所以请尽可能简单地回答 //this is the variable _main() 现在,我尝试使用这个变量创建一个小的hello world程序,正如预期的那样,我得到了一个错误 #include <stdio.h&

我从Yashavant Kanetkar的一本书《Let us c》中学习c语言,在这本书中,有一个问题我们被要求找出变量在c中是否有效,有一个变量_main没有双倒逗号,通常我们知道不能在变量名中使用,但在解决方案书中,这个变量被称为是有效的。所以请帮助我,我是c新手,所以请尽可能简单地回答

//this is the variable
_main()
现在,我尝试使用这个变量创建一个小的hello world程序,正如预期的那样,我得到了一个错误

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int _main();
    _main() = 1234;
    printf("%d", _main())

    return 0;
}

_main不是c变量的有效名称。变量名中不能使用括号

所有变量名必须以字母表中的字母或字母开头 下划线。对于初学编程的人来说,开始可能更容易 所有带有字母表的变量名

在第一个首字母之后,变量名还可以包含 字母和数字。但是,不允许使用空格或特殊字符 允许

大写字符不同于小写字符。使用 所有大写字母主要用于标识常量 变量


首先,您不能使用声明中的任何地方命名变量

根据您给出的代码,我将指出有问题的行

国际干线

在这里,您正向声明一个名为_main的函数。您正在告诉编译器,您在代码的某个地方定义了这个函数。但在这里您并没有声明变量

_main=1234

C语言有l值和r值的概念。简言之,l值是代码中可以存储某些值的所有名称,例如变量,r值是可以存储在l值中的值。通常,您只能将任何值分配给l值,分配的LHS必须是l值。也就是说,所有函数返回的都是r值,不能将其放在赋值的左侧

打印文件%d,\u main


2个问题:A-你忘了写字;在该行的末尾,B-无法解析名称_main,因为您编写的代码中没有定义它。编译此代码时,链接器将尝试查找名为_main的函数的定义位置,但不会找到任何内容。

\u main不是有效的变量名。国际干线;是有效的函数声明。。。。只需打印_main正在调用此函数。是否说此变量有效?作者在这一点上是错误的。这是一个主要的问题;编译器可以当作_mainfunction的声明。@Achal我也这么认为,但一开始我怀疑自己,因为我是c语言的新手,现在我明白了这是一个印刷错误,作者不会错的,因为这本书是编程领域的畅销书。如果没有书中的精确摘录,这个问题毫无价值。呃,这个问题是怎么回答的?好吧,我先要澄清一下,书中好像有一个印刷错误,我也这么认为,但是这本书是一个值得尊敬的作者,所以我想我可能缺乏知识。C++的引文,虽然这两个语言之间的共同点是很重要的,但要注意C++是一个完整的和不同的语言,而不是C++。如果你将引用更改为有效C++,我将删除我的投票。我会移除它。