欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析C++中static的一些用法

 更新時間:2022年12月05日 14:49:51   作者:實踐方可檢驗出不足  
static是靜止的,靜態(tài)的意思,那它有什么用呢,今天通過實例代碼講解下C++中static的一些用法,感興趣的朋友跟隨小編一起看看吧

概述

Static,顧名思義是靜態(tài)、靜止的意思。在C語言中static是一個用來修飾變量與函數(shù)的關(guān)鍵字,被修飾對象的某些性質(zhì)將發(fā)生根本性的改變,而這些變化從某種意義上又似乎契合了“靜態(tài)”這一含義。那接下來就詳細(xì)講一講static這個關(guān)鍵字的用法吧。

我們先來思考這樣一段代碼

#include <stdio.h>
int num(int m)
{
    int k = 0;
    static int n= 3;
    k += 1;
    n += 2;
    return ( m + n + k);
}
int main()
{
    int i;
    int m = 2;
    for (i = 0; i < 5; i++) 
    { 
        printf("%d,", num(m)); 
    } 
} 

A. 6 ,8,10,12,14

B.8,10,12,14,16

C.10,12,14,16,18

D.12,14,16,18,20

相信你們看了這代碼心中已經(jīng)有了自己的答案,我先說一下這道題的答案是 B ,但是如果對static這個關(guān)鍵字不熟悉的朋友會在想,艾這個static是啥來著,它在這里有什么作用?所以在這里就不得不提static的特性了。由此引出static的特性。

在C語言中: static可用來修飾變量和函數(shù): 1. 修飾局部變量-稱為靜態(tài)局部變量(看過上面代碼就知道了k,n都是局部變量了吧,其中n就是那個靜態(tài)局部變量) 2. 修飾全局變量-稱為靜態(tài)全局變量 3. 修飾函數(shù)-稱為靜態(tài)函數(shù)

static的特性:
  1. static修飾變量
   a. 函數(shù)中局部變量(一般將定義在函數(shù)中的變量稱為局部變量,其只能在函數(shù)內(nèi)部使用):
      聲明周期延長:該變量不隨函數(shù)結(jié)束而結(jié)束(說到周期這里就提一句變量的周期:一個變量從創(chuàng)建到銷毀的那個時間段稱為它的周期)

在這里引入生命周期這一名詞,它分為局部變量的生命周期和全局變量的生命周期

局部變量的生命周期:進(jìn)入作用域生命周期開始,出作用域生命周期結(jié)束(可以理解為:在一個函數(shù)中定義的變量,從它被創(chuàng)建開始到它出了(銷毀)這個函數(shù)的時間段就是它存活的生命周期)。 全局變量的生命周期:整個程序的生命周期,它隨程序啟動而 產(chǎn)生生,隨程序結(jié)束而消亡,在任何函數(shù)中都可以使用。

      初始化:只在第一次調(diào)用該函數(shù)時進(jìn)行初始化
      記憶性:后序調(diào)用時,該變量使用前一次函數(shù)調(diào)用完成之后保存的值
      存儲位置:不會存儲在棧上,放在數(shù)據(jù)段
   b. 全局變量(定義在全局作用域中的變量,即函數(shù)外的變量,稱之為全局變量)
     改變該變量的鏈接屬性,讓該變量具有文件作用域,即只能在當(dāng)前文件中使用
   c. 修飾變量時,沒有被初始化時會被自動初始化為0
  2. static修飾函數(shù): 改變該函數(shù)的鏈接屬性,讓該函數(shù)具有文件作用域,即只能在當(dāng)前文件中使用

以上就是對static的一些用法與總結(jié)啦,若有裨益,吾之幸也!若是了解了在評論區(qū)扣個1吧,謝謝支持。

美好的一天總是那么快就過去,我們不必感嘆時間流逝,不必懷戀過去,也不必憂慮將來,我們唯一能掌控的也許只有我們現(xiàn)在能做什么。

到此這篇關(guān)于淺析C++中static的一些用法的文章就介紹到這了,更多相關(guān)static的用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ OpenCV實戰(zhàn)之手寫數(shù)字識別

    C++ OpenCV實戰(zhàn)之手寫數(shù)字識別

    這篇文章主要為大家詳細(xì)介紹了如何使用machine learning機(jī)器學(xué)習(xí)模塊進(jìn)行手寫數(shù)字識別功能,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-08-08
  • 詳解c++良好的編程習(xí)慣與編程要點

    詳解c++良好的編程習(xí)慣與編程要點

    c++語言的靈活是建立在對編程者個人的編程素質(zhì)的嚴(yán)格要求基礎(chǔ)上的,好的C++編程習(xí)慣能避免很多問題。沒有好的編程習(xí)慣,極有可能編寫一行代碼,編譯器能報十幾個錯誤,而且就算編譯通過了,將來在運行過程中也會有很多莫名奇妙的問題
    2021-06-06
  • VScode+ESP32簡單環(huán)境搭建

    VScode+ESP32簡單環(huán)境搭建

    本文章向大家介紹ESP32-C3搭建環(huán)境教程,主要包括ESP32-C3搭建環(huán)境教程使用實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 詳解C++引用變量時那些你不知道的東西

    詳解C++引用變量時那些你不知道的東西

    這篇文章主要為大家詳細(xì)介紹了C++引用變量時那些你不知道的東西——引用變量延遲綁定,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-11-11
  • 200行C語言代碼實現(xiàn)簡易三子棋游戲

    200行C語言代碼實現(xiàn)簡易三子棋游戲

    三子棋(井字棋)我們的童年或多或少都體驗過這個游戲的樂趣,本子隨手一畫就是一局游戲的開始,下面這篇文章主要給大家介紹了關(guān)于200行C語言代碼實現(xiàn)簡易三子棋游戲的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 詳解C++ 動態(tài)內(nèi)存分配與命名空間

    詳解C++ 動態(tài)內(nèi)存分配與命名空間

    這篇文章主要介紹了詳解C++ 動態(tài)內(nèi)存分配與命名空間,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • C++基于easyx圖形庫實現(xiàn)推箱子游戲

    C++基于easyx圖形庫實現(xiàn)推箱子游戲

    這篇文章主要為大家詳細(xì)介紹了C++基于easyx圖形庫實現(xiàn)推箱子游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • C語言指針超詳細(xì)講解下篇

    C語言指針超詳細(xì)講解下篇

    指針提供了對地址操作的一種方法,因此,使用指針可使得?C?語言能夠更高效地實現(xiàn)對計算機(jī)底層硬件的操作。另外,通過指針可以更便捷地操作數(shù)組。在一定意義上可以說,指針是?C?語言的精髓
    2022-04-04
  • C語言實現(xiàn)圖書館管理系統(tǒng)

    C語言實現(xiàn)圖書館管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)圖書館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 深入解讀C++中的右值引用

    深入解讀C++中的右值引用

    這里來帶大家深入解讀C++中的右值引用,右值引用是C++新標(biāo)準(zhǔn)中的重要特性,包括C++11中的引用折疊,首先還是先來看一下右值引用的概念:
    2016-05-05

最新評論