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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

变量之间的区别

發布時間:2023/11/30 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 变量之间的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

全局變量、局部變量、靜態全局變量、靜態局部變量的區別
c++變量根據定義具有不同的生命周期,會有不同的作用域,主要有六個作用域:全局作用域局部作用域文件作用域類作用域語句作用域命名空間作用域

從作用域看
全局變量:具有全局作用域,全局變量只需在一個源文件定義,就能在所有的文件中使用。在不含有該全局變量的文件中使用時,需要用extern的關鍵字聲明這個變量
靜態全局變量:具有文件作用域,它只作用域定義該變量的文件中,不能作用域其他文件。
**局部變量:**具有局部作用域,在程序運行期間并不是一直存在,而是只在函數運行期間存在,函數調用完成后,該變量就自動銷毀
靜態局部變量:具有局部作用域,它只初始化一次,在程序運行期間一直存在,與靜態全局變量的區別在于,靜態全局變量在該源文件的所有函數是可見的,而靜態局部變量旨在只在定義該變量的函數中可見。

內存空間看:

  • 靜態全局變量、靜態局部變量、全局變量都是在靜態存儲區(.bss 和 .data段)
  • 局部變量是在棧區

靜態變量棧變量(存儲在棧中的變量)、堆變量(存儲在堆中的變量)的區別:靜態變量存儲在靜態存儲區(.data段)中,在下一次調用時它能恢復到原來的數值,棧變量、堆變量不能保證是原來的值

全局變量靜態變量的區別:靜態變量用static關鍵字修飾,只在自己的作用域上可見,全局變量是所有文件都可見

注意:全局變量定義在頭文件中有什么問題?
如果在頭文件中定義全局變量,在多個文件#include這個頭文件時,會出現全局變量重復定義,全局變量的作用域是所有文件都有使用的

總結

以上是生活随笔為你收集整理的变量之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。