在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    7604

    瀏覽量

    136845
  • static
    +關注

    關注

    0

    文章

    33

    瀏覽量

    10372
收藏 人收藏

    評論

    相關推薦

    C語言中申請的堆內存能不能自動釋放

    C語言中申請的堆內存能不能自動釋放?每次都要手動 free 太麻煩,也容易忘記。 學過 C++ 的同學,應該首先能想到智能指針。 但是這是C語言
    的頭像 發表于 11-27 09:33 ?118次閱讀

    C語言中的頭文件能不能重復包含

    C語言中的頭文件能不能重復包含? 比如代碼寫成這樣,stdio.h 連續包含了兩次。 #include #include int main(){ printf("helloworld
    的頭像 發表于 11-26 17:19 ?162次閱讀

    C語言指針學習筆記

    本文從底層內存分析,徹底讓讀者明白C語言指針的本質。
    的頭像 發表于 11-05 17:40 ?240次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>指針學習<b class='flag-5'>筆記</b>

    C語言中的socket編程基礎

    Socket編程簡介 Socket是一種通信機制,允許程序之間進行通信。C語言中,socket編程是網絡編程的基礎。通過使用socket,程序可以發送和接收數據,實現不同計算機之間的通信
    的頭像 發表于 11-01 16:51 ?325次閱讀

    c語言中從左到右結合怎么看

    C語言中,操作符的結合性(Associativity)是指當操作符表達式中連續出現時,它們如何與操作數結合的順序。對于大多數二元操作符(即需要兩個操作數的操作符),
    的頭像 發表于 08-20 11:42 ?889次閱讀

    C語言數據類型有哪些

    C 語言中,數據類型指的是用于聲明不同類型的變量或函數的一個廣泛的系統。變量的類型決定了變量存儲占用的空間,以及如何解釋存儲的位模式。
    發表于 03-20 10:56 ?484次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>數據類型有哪些

    嵌入式系統中C語言結構體的基礎實現與應用

    C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構是C語言編程中允許您存儲不同數據類型的數據。
    發表于 03-12 14:29 ?502次閱讀
    嵌入式系統中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結構體的基礎實現與應用

    C語言中的typedef的應用

    C 語言提供了 typedef 關鍵字,您可以使用它來為類型取一個新的名字。下面的實例為單字節數字定義了一個術語 BYTE。
    發表于 03-06 11:34 ?387次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的typedef的應用

    C語言#define的應用

    C/C++ 編程語言中,當程序被編譯時,被發送到編譯器,編譯器將程序轉換為機器語言,然后完成編譯并執行該程序。預處理器也稱為宏預處理器。
    發表于 03-06 11:29 ?380次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>#define的應用

    C語言的指針用法

    C語言編程中善用指針可以簡化一些任務的處理,而對于一些任務(比如動態內存分配),必須要有指針才行的。也就是說精通C指針編程是很有必要的,幫助你成為一名優秀的Cer。
    發表于 03-05 14:22 ?356次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的指針<b class='flag-5'>用法</b>

    介紹C語言中錯誤處理和異常處理的一些常用的方法和策略

    C語言是一種低級的、靜態的、結構化的編程語言,它沒有提供像C++或Java等高級語言中的異常處理機制,例如try-catch-finally
    的頭像 發表于 02-28 14:25 ?621次閱讀

    C語言中的可變參數介紹

    C 語言為這種情況提供了一個解決方案,它允許您定義一個函數,能根據具體的需求接受可變數量的參數
    發表于 02-28 14:00 ?309次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的可變參數介紹

    C語言中的動態內存管理講解

    本章將講解 C 中的動態內存管理。C 語言為內存的分配和管理提供了幾個函數。這些函數可以 頭文件中找到。
    的頭像 發表于 02-23 14:03 ?397次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的動態內存管理講解

    枚舉有多大?c語言枚舉end的作用是什么?

    枚舉有多大?c語言枚舉end的作用是什么? 枚舉C語言中是一種常見的數據類型,用于定義一組相互關聯的常量或者變量。它通常用于表示一系列可能
    的頭像 發表于 01-19 14:19 ?599次閱讀

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

    如何解決C語言中的“訪問權限沖突”異常?C語言引發異常原因分析? C
    的頭像 發表于 01-12 16:03 ?5724次閱讀
    主站蜘蛛池模板: 天天摸天天操天天干| 免费视频不卡一区二区三区| 在线观看不卡一区| 天天操夜| yy4080午夜理论一级毛片| 人人艹在线观看| 免费视频在线播放| 爱射综合| 成人中文字幕一区二区三区| 色在线免费视频| 午夜爱爱免费视频| 污视频日本| 天天舔天天操天天干| 在线观看一区二区三区视频| 色婷婷综合缴情综六月| 一级高清| 色视频网站免费| 你懂的欧美| 毛片8| 中国免费黄色片| 国产婷婷综合丁香亚洲欧洲| 大又大粗又爽又黄少妇毛片| 五月婷婷丁香在线观看| 久久婷婷六月| 停停五月天| 久久国产精品免费看| 激情福利网站| 啪啪.com| 人人干人人澡| 九九视频这里只有精品| 亚洲va久久久噜噜噜久久 | 欧美一级看片免费观看视频在线| 久久99免费| 边摸边吃奶边做视频叫床韩剧| 天堂在线免费| 午夜精品久久久久久99热7777 | 69久久夜色精品国产69小说| 国产精品美乳在线观看| 玖玖福利| 泰国一级毛片aaa下面毛多| 天天躁日日躁狠狠躁一级毛片|