c语言中需要调用的函数必须放在main?
C语言中需要调用的函数不一定要放在main中。
C语言程序中要调用的函数必须先声明,但不一定要在main函数中声明。在函数被声明和定义之后,你可以在main函数或者其他函数中调用这个函数,只要它是在之前声明的。
被main函数调用的函数只能是库函数?
不会。主函数调用与其他函数调用没有什么不同,可以是库函数,也可以是用户定义的函数。
c语言中multipledefinitionofmain?
是否在同一个项目的其他文件中定义了main函数?如果是,那一定是错的;一个项目只能有一个主要功能。您可以更改其他文件的主函数的名称。
listmylist这个怎么看不懂,懂得解释一下?
非常基本的单向列表定义,自定义了一个名为ListNode的类,包含一个int值和一个指向下一个ListNode的指针。然后基于这个类定义一个List类,这个类实际上是一个指向ListNode的指针。
基于上面两个类的定义,在main函数中声明了一个myList变量,变量的类是List,也就是指向ListNode的指针,然后在初始化的时候把mylist的地址,也就是指向这个指针的指针,传递给初始化函数。初始化函数做了什么?传入指针所指向的值被设置为空。
回想一下,传入的指针是一个指向指针的指针,所以这个指针指向的值是一个指向ListNode的指针。将这个指针设置为空意味着我没有一开始不指向任何东西,符合初始化的定义。
你又要问了,为什么不直接传入mylist,而是传入mylists地址?这涉及到C函数传递参数时的值传递或引用传递。我们称之为按值传递或按引用传递。传值时,函数中的参数(行参数)有什么变化,这个函数(自变量)是不可见的。只有引用通过,函数中参数的设置才能在函数离开后继续有效。在这种情况下,它是mylist的初始化。调用这个函数后,我们可以确定mylist现在指向的是NULL而不是别的。
补充说明:list是一个类型,mylist是一个变量名,你也可以叫它yourlist或者hislist。任何变量都有地址,甚至结构。
初学者理解数据结构和算法最好的方法就是写代码,编译运行,尝试修改实例,加深对原理的理解和认识。