c語言中需要調用的函數必須放在main?
C語言中需要調用的函數不一定要放在main中。
C語言程序中要調用的函數必須先聲明,但不一定要在main函數中聲明。在函數被聲明和定義之后,你可以在main函數或者其他函數中調用這個函數,只要它是在之前聲明的。
被main函數調用的函數只能是庫函數?
不會。主函數調用與其他函數調用沒有什么不同,可以是庫函數,也可以是用戶定義的函數。
c語言中multipledefinitionofmain?
是否在同一個項目的其他文件中定義了main函數?如果是,那一定是錯的;一個項目只能有一個主要功能。您可以更改其他文件的主函數的名稱。
listmylist這個怎么看不懂,懂得解釋一下?
非?;镜膯蜗蛄斜矶x,自定義了一個名為ListNode的類,包含一個int值和一個指向下一個ListNode的指針。然后基于這個類定義一個List類,這個類實際上是一個指向ListNode的指針。
基于上面兩個類的定義,在main函數中聲明了一個myList變量,變量的類是List,也就是指向ListNode的指針,然后在初始化的時候把mylist的地址,也就是指向這個指針的指針,傳遞給初始化函數。初始化函數做了什么?傳入指針所指向的值被設置為空。
回想一下,傳入的指針是一個指向指針的指針,所以這個指針指向的值是一個指向ListNode的指針。將這個指針設置為空意味著我沒有一開始不指向任何東西,符合初始化的定義。
你又要問了,為什么不直接傳入mylist,而是傳入mylists地址?這涉及到C函數傳遞參數時的值傳遞或引用傳遞。我們稱之為按值傳遞或按引用傳遞。傳值時,函數中的參數(行參數)有什么變化,這個函數(自變量)是不可見的。只有引用通過,函數中參數的設置才能在函數離開后繼續有效。在這種情況下,它是mylist的初始化。調用這個函數后,我們可以確定mylist現在指向的是NULL而不是別的。
補充說明:list是一個類型,mylist是一個變量名,你也可以叫它yourlist或者hislist。任何變量都有地址,甚至結構。
初學者理解數據結構和算法最好的方法就是寫代碼,編譯運行,嘗試修改實例,加深對原理的理解和認識。