C中的靜態變數

如何在C中使用靜態變數 在函數內部,您可以使用static關鍵字來初始化靜態變數。 “在函數內部”關鍵字是因為全局變數默認為靜態變數,所以不需要添加關鍵字。 那什麼是靜態變數呢?靜態變數如果沒有指定初始值,則初始化為0,並且在函數調用之間保留其值。 考慮以下函數: int incrementAge() { int age = 0; age++; return age; } 如果我們只調用incrementAge()一次,則返回值將為1。如果我們多次調用它,我們將始終得到1,因為age是一個局部變量,並且在每次函數調用時重新初始化為0。 如果我們將函數更改為: int incrementAge() { static int age = 0; age++; return age; } 現在每次調用此函數時,我們都會得到一個遞增的值: printf("%d\n", incrementAge()); printf("%d\n", incrementAge()); printf("%d\n", incrementAge()); 將會得到: 1 2 3 我們還可以省略在static int age = 0;中將age初始化為0,只需寫成static int age,因為靜態變數在創建時自動設置為0。 我們還可以擁有靜態數組。在這種情況下,數組中的每個單個項都初始化為0: int incrementAge() { static int ages[3]; ages[0]++; return ages[0]; }

C陣列介紹

一個C陣列的介紹 陣列是一個可以儲存多個值的變數。 在C語言中,陣列中的每個值必須有相同的類型。這意味著你可以有int值的陣列,也可以有double值的陣列,以此類推。 你可以像這樣定義一個int值的陣列: int prices[5]; 你必須總是指定陣列的大小。C本身並不提供動態陣列(你需要使用像是鏈表之類的資料結構來實現)。 你可以使用常數來定義陣列的大小: const int SIZE = 5; int prices[SIZE]; 你可以在定義時初始化陣列,像是這樣: int prices[5] = { 1, 2, 3, 4, 5 }; 但你也可以在定義之後賦予值,像這樣: int prices[5]; prices[0] = 1; prices[1] = 2; prices[2] = 3; prices[3] = 4; prices[4] = 5; 或者,更實際的做法是使用迴圈: int prices[5]; for (int i = 0; i < 5; i++) { prices[i] = i + 1; } 你可以使用方括號在陣列變數名稱後面指定索引值,來參考陣列中的某個項目。像這樣: prices[0]; /* 陣列項目值:1 */ prices[1]; /* 陣列項目值:2 */ 陣列的索引從0開始,所以一個有5個項目的陣列,像上面的prices陣列,其項目範圍從prices[0]到prices[4]。...

JavaScript食譜

JavaScript食譜包含許多有用的教學文章,解釋如何在JavaScript中執行常見的操作。 注意:此文檔將不斷更新。隨著時間的推移,此文章將填滿大量有用的教學內容。 字串 如何將JavaScript字串中的首個字母轉成大寫 如何在JavaScript中檢查字串是否包含子字串 如何在JavaScript中替換字串的所有出現 如何將字串轉換為數字 如何在JavaScript中創建多行字串 如何在JavaScript中檢查字串是否以另一個字串開頭 數字 如何去掉JavaScript數字中的前導零 如何將數字格式化為貨幣值 如何在JavaScript中生成兩個數字之間的隨機數 日期 如何在JavaScript中獲取當前的時間戳記 物件 如何從JavaScript物件中刪除屬性 如何檢查JavaScript物件 如何深度克隆JavaScript物件 如何檢查JavaScript物件屬性是否為未定義 如何合併兩個JavaScript物件 如何在JavaScript中動態訪問物件的方法 如何使用解構語法處理數組和物件 如何計算JavaScript物件中的屬性數量 如何列出JavaScript物件的所有方法 數組 如何從JavaScript數組中刪除項目 如何在JavaScript數組中追加項目 如何在JavaScript中使用值初始化新數組 如何在Array.map()中使用Async和Await 如何清空JavaScript數組 如何按屬性值對JavaScript物件數組進行排序 如何從JavaScript數組中獲取一組物件的唯一屬性 函數 如何在JavaScript中設置默認參數值 循環 如何在JavaScript的for-of循環中獲取迭代的索引

SwiftUI:ForEach 視圖

在 SwiftUI 中,ForEach 視圖非常有用,可以遍歷數組或範圍,並生成我們可以使用的視圖。 例如,我們在此創建了3個 Text 視圖,顯示從0到2的數字: ForEach(0..<3) { Text("\($0)") } $0 表示傳遞給閉包的第一個參數,在這個例子中分別是數字 0、1 和 2。 在這個例子中,為了避免重疊,我將它們嵌入到了一個 VStack 中: VStack { ForEach(0..<3) { Text("\($0)") }.padding() } 注意我使用了 padding() 修改器來添加一些間距。 在 List 視圖中,通常使用 ForEach: List { ForEach(0..<3) { Text("\($0)") } } 這是一種常見的用法,以至於我們實際上可以省略 ForEach,直接從 List 中遍歷: List(0..<3) { Text("\($0)") } 這兩個示例使用了範圍 0..<3。我們也可以遍歷數組: let fruits = ["Apple", "Pear", "Orange"] // ... List { ForEach(fruits, id: \.self) { Text("\($0)") } } 請注意,這種情況下我們有另外一個參數:id。 這是為了唯一識別數組中的項目。 對於內置類型,使用 \....

在 JavaScript 中解構對象和數組

學習如何使用解構語法在 JavaScript 中處理數組和對象 給定一個對象,使用解構語法可以將其中一些值提取出來並放入命名變量中: const person = { firstName: 'Tom', lastName: 'Cruise', actor: true, age: 54 // made up } const { firstName: name, age } = person // name: Tom, age: 54 name 和 age 包含了所需的值。 這種語法也可以應用於數組: const a = [1, 2, 3, 4, 5] const [first, second] = a 這個語句通過從數組 a 中使用索引 0、1、4 獲取項目創建了 3 個新變量: const [first, second, , , fifth] = a

如何在JavaScript中合併兩個數組

了解如何使用JavaScript合併兩個或多個數組 假設你有兩個數組: const first = ['one', 'two'] const second = ['three', 'four'] 你想將它們合併為一個單一的數組,該怎麼辦? 現代方法是使用解構運算符來創建一個全新的數組: const result = [...first, ...second] 這是我推薦的方法。請注意,這個運算符在ES6中引入,所以舊版本的瀏覽器(比如:Internet Explorer)可能不支持它。 如果你需要在舊版本的瀏覽器中也能運行的解決方案,你可以使用concat()方法,該方法可以在任何數組上調用: const result = first.concat(second) 這兩種方法都會生成一個新的數組,而不會修改現有的數組。