是否有任何資源可以描述C和C++必須提供的許多簡短方法?這裏有很多「野性」代碼,它們並不完全與教科書中教授的內容相吻合。例如,許多教科書都教你分開變量的聲明和初始化,但我卻一直在看到相反的情況。C/C++的短手和快捷鍵
所以這裏是我目前的stumper:C是否允許沒有類型標識符的程序?再次,教科書告訴我,如果沒有其他類型的話,我至少應該爲void
類型。不過,我已經看到了以下內容:
procedure(){
//procedure stuff
}
另有我一直被教導必須至少做
void procedure(){
//procedure stuff
}
我發現自己在這個位置上很多,我認爲它不是一個症狀有使用C或C++進行項目/團隊相關工作。我很難識別「可編譯的代碼」,因爲很多書都以特定的方式教授,但在實踐中完成相同任務的方式不止一種。謝謝。
K&R C(pre-ANSI)具有隱式int函數。這意味着如果沒有指定返回類型,則認爲它是int。 – 2012-01-15 23:35:22
您的示例代碼不相同。隱含的返回類型是「int」而不是「void」。甚至只有在ANSI C之前,但你提出了錯誤的問題。沒有辦法讓你知道每一個可能的捷徑成語或其他什麼。這些變化隨着時間的推移(甚至是核心語言),只有你能夠識別你不知道的東西並尋找答案是很重要的。 – pmr 2012-01-15 23:35:35
*「許多教科書都教你分開變量的聲明和初始化」*如果C++教科書正在教這個,那麼他們只是錯了。如果C教科書正在教這個,那麼他們可能只是過時了。C89要求在塊的頂部聲明所有變量,因此在聲明時通常不可能初始化它們。 C99解決了這個問題,所以與C++相同的規則通常適用。 – 2012-01-16 04:03:55