這是參考C++。這個問題我已經可以追溯到大約6個月的時候我常想,一個宣言是:聲明,定義,分配,初始化變量
int a;
而且一個定義是:
a = 5;
此外,認爲:
int a = 5;
既是一種聲明,也是一種定義。
現在我已經明白過來是:
int a;
是一個定義,不只是一個聲明。 (我不知道爲什麼)。
此外,還有一些術語,例如分配和初始化,這些術語會增加問題的術語。
所以這是我目前的理解(並請糾正任何東西):
int a; // Declaration and definition
int a = 5 // Declaration, definition, assignation and initialisation.
a = 5; // Initialising (if for the first time),
// assigning (if for subsequent times),
// defining (not sure about this one).
我已閱讀關於這個主題相當多,但我仍然感到困惑。有人可以解釋到底是什麼嗎?我知道在這種情況下,存在着哲學上的爭議,就像零甚至數字一樣。哈哈,但有人可以試試嗎?謝謝。
「初始化」意味着你提供一個初始值(特殊情況是,當你明確規定一個空列表,仍然算作初始化)。 –