我正在創建一個允許用戶使用菜單選擇遊戲大小(2x2,3x3,4x4等)的遊戲項目。目前遊戲大小變量正在#define aka常量下聲明。我是否必須將遊戲大小變量設置爲全局?如果是這樣,怎麼樣?在C語言編程語言中更改菜單中的#define值
請給我一些指導如何做到這一點。我仍然是C編程語言的初學者。
我正在創建一個允許用戶使用菜單選擇遊戲大小(2x2,3x3,4x4等)的遊戲項目。目前遊戲大小變量正在#define aka常量下聲明。我是否必須將遊戲大小變量設置爲全局?如果是這樣,怎麼樣?在C語言編程語言中更改菜單中的#define值
請給我一些指導如何做到這一點。我仍然是C編程語言的初學者。
如果通過#define
宣佈那麼它不是一個變量,它是一個字面常量!聲明你的gameSize
作爲(全局)變量(任何函數之外),例如:
int gameSize;
然後通過一些互動(「什麼樣的菜單的GUI文本?反正...?)讓用戶更改,例如:
int main(...) {
printf("Which game size would you like? "); // message on screen
scanf("%d",&gameSize); // waiting for a number
...
}
我很想倒下。答案(a)促進使用全局變量(b)在快速通道上設置OP,以便在靜態數組無法用全局大小變量實例化時發生編譯器錯誤。 – StoryTeller
在GUI菜單下。 它已被聲明爲「定義gameSize 3」。它指的是3x3的遊戲化。 我想改變main方法中的gameSize的值。 – Milky
在GUI中,訣竅是在您的代碼中有一個回調函數,用於更改遊戲大小的值,重新初始化遊戲板等,並連接到某個可讓您選擇值的GUI元素。 –
宏('#define' token)就是在編譯之前會被代入代碼的文本。它變成了不可變的文字值。 但是我懷疑,因爲它是一個宏,它的使用方式不易轉換爲駐留在內存中並可以更改的變量。 你的問題太過寬泛,無法在SO上回答。因爲它取決於你所提到的實際代碼(我們沒有這個代碼)以及缺乏基本的編程知識(在執行這個任務之前你應該獲得這些知識)。 – StoryTeller