日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

水滴石穿C语言之static辨析

發(fā)布時間:2025/3/15 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 水滴石穿C语言之static辨析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  1、概述

  static 聲明的變量在C語言中有兩方面的特征:

  1)、變量會被放在程序的全局存儲區(qū)中,這樣可以在下一次調(diào)用的時候還可以保持原來的賦值。這一點是它與堆棧變量和堆變量的區(qū)別。

?
?
  2)、變量用static告知編譯器,自己僅僅在變量的作用范圍內(nèi)可見。這一點是它與全局變量的區(qū)別。

  2、問題:Static的理解

  關(guān)于static變量,請選擇下面所有說法正確的內(nèi)容:

  A、若全局變量僅在單個C文件中訪問,則可以將這個變量修改為靜態(tài)全局變量,以降低模塊間的耦合度;

  B、若全局變量僅由單個函數(shù)訪問,則可以將這個變量改為該函數(shù)的靜態(tài)局部變量,以降低模塊間的耦合度;

  C、設(shè)計和使用訪問動態(tài)全局變量、靜態(tài)全局變量、靜態(tài)局部變量的函數(shù)時,需要考慮重入問題;

  D、靜態(tài)全局變量過大,可那會導(dǎo)致堆棧溢出。

  答案與分析:

  對于A,B:根據(jù)本篇概述部分的說明b),我們知道,A,B都是正確的。

  對于C:根據(jù)本篇概述部分的說明a),我們知道,C是正確的(所謂的函數(shù)重入問題,下面會詳細闡述)。

  對于D:靜態(tài)變量放在程序的全局數(shù)據(jù)區(qū),而不是在堆棧中分配,所以不可能導(dǎo)致堆棧溢出,D是錯誤的。

  因此,答案是A、B、C。

  3、問題:不可重入函數(shù)

  曾經(jīng)設(shè)計過如下一個函數(shù),在代碼檢視的時候被提醒有bug,因為這個函數(shù)是不可重入的,為什么?

unsigned int sum_int( unsigned int base )
{
 unsigned int index;
 static unsigned int sum = 0; // 注意,是static類型的。
 for (index = 1; index <= base; index++)
 {
  sum += index;
 }
 return sum;
}

  答案與分析:

  所謂的函數(shù)是可重入的(也可以說是可預(yù)測的),即:只要輸入數(shù)據(jù)相同就應(yīng)產(chǎn)生相同的輸出。

  這個函數(shù)之所以是不可預(yù)測的,就是因為函數(shù)中使用了static變量,因為static變量的特征,這樣的函數(shù)被稱為:帶“內(nèi)部存儲器”功能的的函數(shù)。因此如果我們需要一個可重入的函數(shù),那么,我們一定要避免函數(shù)中使用static變量,這種函數(shù)中的static變量,使用原則是,能不用盡量不用。

  將上面的函數(shù)修改為可重入的函數(shù)很簡單,只要將聲明sum變量中的static關(guān)鍵字去掉,變量sum即變?yōu)橐粋€auto 類型的變量,函數(shù)即變?yōu)橐粋€可重入的函數(shù)。

  當然,有些時候,在函數(shù)中是必須要使用static變量的,比如當某函數(shù)的返回值為指針類型時,則必須是static的局部變量的地址作為返回值,若為auto類型,則返回為錯指針。

總結(jié)

以上是生活随笔為你收集整理的水滴石穿C语言之static辨析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人国产在线观看 | 豆花视频在线 | 啪啪av| 亚洲porn| 无码内射中文字幕岛国片 | 欧美在线网址 | 91精品国产综合久久久蜜臀 | 美女光屁股视频 | 成人动漫免费在线观看 | 欧美成人精品二区三区99精品 | 成人观看网站 | 97操操 | 不卡中文av | 一区二区精品 | 免费成人91 | 欧美网| 无码国产精品一区二区免费式直播 | 亚洲精品77777 | 青青草免费在线观看视频 | 四虎永久免费地址 | 国产精品一区二区无码对白 | 人人干人人插 | 欧美午夜精品一区二区蜜桃 | 国产女教师bbwbbwbbw | 好吊一区二区三区视频 | 亚洲一卡二卡在线观看 | 欧美日本 | 在线中文字幕观看 | 欧美视频你懂的 | 日韩中文字幕观看 | 久久久免费av| 草莓巧克力香氛动漫的观看方法 | 秋霞福利视频 | 色悠悠av | 国产乱人伦精品一区二区 | 国产真实乱人偷精品视频 | 国产一区二区免费电影 | xxxxxx欧美| 在线国产欧美 | www.欧美视频 | 天堂在线www| 黄色一级片国产 | 久久人人精 | 国产一区二区不卡视频 | 欧美wwwwww | 无码日韩精品一区二区 | 久久丝袜视频 | 中文字幕一区二区三三 | 日韩av中文在线观看 | 久久精品国产亚洲av蜜臀色欲 | 免费观看黄网站 | 国产精品hd | 国产女人18毛片18精品 | 午夜精品免费观看 | 曰本丰满熟妇xxxx性 | 激情天天| 欧美色图国产精品 | 一卡二卡久久 | 亚洲成人看片 | 亚洲精品小视频在线观看 | 秋霞午夜鲁丝一区二区老狼 | 天天艹天天爽 | 国产男女猛烈无遮挡免费视频动漫 | 国产一区二区三区精品在线 | 欧美另类z0z变态 | 免费视频精品 | 人妻无码久久精品人妻 | 深夜福利亚洲 | 爽天天天天天天天 | 人妻视频一区二区 | 久久免费视频2 | 日韩av不卡在线 | 三上悠亚亚洲一区 | 精品久久久精品 | av免费的 | 黄色大片免费在线观看 | 成人性生交生交视频 | 日本少妇大战黑人 | 国产一区二区小说 | 亚洲欧美一区二区三 | 国产亚洲欧美日韩精品 | 韩国一级淫一片免费放 | 伊人在线| 黄色一级片 | 午夜香蕉视频 | 伊人手机视频 | 91福利视频在线观看 | 我和我的太阳泰剧在线观看泰剧 | 姑娘第5集在线观看免费好剧 | 九九九久久久精品 | 不卡久久 | 国产成人精品一区在线播放 | 亚洲爆爽av | 我爱52av | 久久久久久久极品内射 | 三级五月天 | 色婷婷热久久 | 91噜噜噜| 一区av在线 |