精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【筆記】static 在C語言中的用法

撞上電子 ? 2023-06-12 10:03 ? 次閱讀

當 `static` 關鍵字用于不同的上下文時,其含義和作用也會有所不同。下面是更多示例代碼,展示了 `static` 在不同用法下的具體效果:

示例1:靜態局部變量

#include void increment() {static int count = 0;count++;printf("Count: %d\n", count);}int main() {increment(); // 輸出:Count: 1increment(); // 輸出:Count: 2increment(); // 輸出:Count: 3return 0;}

在這個示例中,`count` 是一個靜態局部變量。它被聲明為 `static`,意味著它在函數調用之間保持持久性,并且其初始值只在第一次函數調用時初始化。每次調用 `increment()` 函數時,`count` 的值遞增并打印。

示例2:靜態全局變量

#include static int globalVar = 10;void function() {printf("Global variable: %d\n", globalVar);}int main() {function(); // 輸出:Global variable: 10return 0;}

在這個示例中,`globalVar` 是一個靜態全局變量。它被聲明為 `static`,意味著它的作用域僅限于當前文件,并且無法被其他文件訪問。在 `function()` 函數中,可以直接訪問和使用靜態全局變量。

示例3:靜態函數

#include static void staticFunction() {printf("Static function\n");}int main() {staticFunction(); // 輸出:Static functionreturn 0;}

在這個示例中,`staticFunction()` 是一個靜態函數。它被聲明為 `static`,意味著它的作用域僅限于當前文件,無法被其他文件調用。


示例4:靜態結構體成員

#include struct MyStruct {int x;static int y;};int main() {struct MyStruct obj;obj.x = 5;obj.y = 10; // 錯誤:無法在結構體中使用靜態成員return 0;}

在這個示例中,`MyStruct` 結構體中的 `y` 成員被聲明為靜態。然而,C語言不允許在結構體中使用靜態成員。

示例5:靜態局部數組

#include void printArray() {static int arr[] = {1, 2, 3, 4, 5};int size = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < size; i++) {printf("%d ", arr[i]);}printf("\n");}int main() {printArray(); // 輸出:1 2 3 4 5printArray();// 輸出:1 2 3 4 5return 0;}

在這個示例中,`arr` 是一個靜態局部數組。它被聲明為 `static`,意味著它在函數調用之間保持持久性,并且其初始值只在第一次函數調用時初始化。每次調用 `printArray()` 函數時,都會打印相同的數組內容。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7575

    瀏覽量

    134216
  • static
    +關注

    關注

    0

    文章

    33

    瀏覽量

    10330
收藏 人收藏

    評論

    相關推薦

    如何解決C語言中的“訪問權限沖突”異常?C語言引發異常原因分析

    如何解決C語言中的“訪問權限沖突”異常?C語言引發異常原因分析? C
    的頭像 發表于 01-12 16:03 ?3295次閱讀

    C語言中結構體能不能相加

    C語言中,結構體能不能相加?
    的頭像 發表于 12-19 17:04 ?1083次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>結構體能不能相加

    C語言-#和##的具體用法

    C語言中宏里面使用’#’和’##’有它非常神奇的作用。宏定義的替換的過程中,#號可以作為一個預處理運算符,把宏參數轉換為字符串。##運算符則可以把兩個宏參數組合在一起。下面就來說
    的頭像 發表于 12-19 12:54 ?3322次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>-#和##的具體<b class='flag-5'>用法</b>

    c語言中邏輯真等價于什么

    C語言中,邏輯真等價于1。邏輯真可以理解為一個表達式、語句或條件的結果為真,即滿足條件。計算機科學和編程中,邏輯真控制流語句、循環和條
    的頭像 發表于 11-30 14:10 ?1476次閱讀

    c語言中decimal的含義

    C語言中的“decimal”是一種數據類型,用于表示十進制數字。C語言中,常用的數據類型有整數類型(int)、浮點類型(float和dou
    的頭像 發表于 11-30 10:57 ?1884次閱讀

    c語言中a++是什么意思

    C語言中,a++是一個自增運算符,用于對a的值進行自增操作。它是一個簡化的表達式,相當于將a的值加1,并返回自增前的值。 C語言中,自增運
    的頭像 發表于 11-26 09:19 ?1.5w次閱讀

    c語言中數組怎么定義

    C語言中,數組是一種用來存儲相同類型元素的數據結構。它可以存儲多個元素,并通過一個共同的名稱來引用這些元素。數組是一種很重要的數據結構,可以用于解決很多實際的問題。 C
    的頭像 發表于 11-24 10:11 ?2291次閱讀

    \0c語言中怎么用

    是由貝爾實驗室的Dennis Ritchie為了開發UNIX操作系統而設計的。它在20世紀70年代初首次出現,并迅速流行起來。C語言以其簡潔、高效、低級別的特性成為了廣泛使用的編程語言。 二、基本語法 注釋
    的頭像 發表于 11-24 09:59 ?2728次閱讀

    scanfC語言中的作用

    scanfC語言中的作用? scanf是C語言中的輸入函數,用于從標準輸入設備(如鍵盤)讀取數據,并將其存儲到變量中。它是
    的頭像 發表于 11-23 14:13 ?994次閱讀

    C語言中如何實現注釋

    C語言中,注釋是用來增加代碼可讀性和注釋過程和功能的文本。C語言中支持兩種類型的注釋:單行注釋和多行注釋。 單行注釋以雙斜杠(//)開始,
    的頭像 發表于 11-22 10:17 ?986次閱讀

    c語言while中嵌套if循環

    中嵌套if語句的用法和好處。 一、C語言中的while循環和if語句 開始我們深入探討while循環中嵌套if語句的細節之前,讓我們首先回顧一下while循環和if語句的基本
    的頭像 發表于 11-22 10:09 ?3730次閱讀

    static關鍵字的三種用法

    變量(StaticVariables):C語言中,使用`static`關鍵字來聲明靜態變量是一種常見的用法,它具有以下主要作用:1.生存期
    的頭像 發表于 11-10 08:00 ?418次閱讀
    <b class='flag-5'>static</b>關鍵字的三種<b class='flag-5'>用法</b>

    C語言中ASCII代碼是什么意思?

    C語言中ASCII代碼是什么意思常見的ASCII代碼都需要記嗎
    發表于 10-25 07:10

    C51中斷函數和匯編語言中斷服務程序在用法上有什么不同?

    C51中斷函數和匯編語言中斷服務程序在用法上有何不同?
    發表于 10-17 08:31

    請問鏈表單片機C語言中有應用嗎?

    鏈表單片機C語言中有應用么?
    發表于 10-16 07:28