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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下c的进一步学习

發布時間:2024/4/13 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下c的进一步学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.數據存儲區定義及其特點
1.1堆區
由malloc動態分配內存,free釋放的存儲在堆區,由new分配,delete釋放的存儲在自由存儲區,自由存儲區一般來講不僅包括堆區,還可能包括全局存儲區的未分配部分。
1.2棧區
就是那些由編譯器在需要的時候分配,在不需要的時候自動清除的變量的存儲區。里面的變量通常是局部變量、函數參數等。在一個進程中,位于用戶虛擬地址空間頂部的是用戶棧,編譯器用它來實現函數的調用。棧區大小固定,一般為1M,地址向下擴展。(百度參考)
1.3靜態數據區
全局變量和靜態變量被分配到同一塊內存中,都在全局數據區,在以前的 C 語言中,全局變量又分為初始化的和未初始化的(初始化的全局變量和靜態變量在一塊區域,未初始化的全局變量與靜態變量在相鄰的另一塊區域,同時未被初始化的對象存儲區可以通過 void* 來訪問和操縱,程序結束后由系統自行釋放),在 C++ 里面沒有這個區分了,他們共同占用同一塊內存區。
1.4代碼段
是指用來存放程序執行代碼的一塊內存區域。這部分區域的大小在程序運行前就已經確定,并且內存區域通常屬于只讀, 某些架構也允許代碼段為可寫,即允許修改程序。在代碼段中,也有可能包含一些只讀的常數變量,例如字符串常量等。代碼段是存放了程序代碼的數據,假如機器中有數個進程運行相同的一個程序,那么它們就可以使用同一個代碼段。(百度參考)
堆區是自己生成,自己釋放;棧區,全局數據區,代碼段是由系統生成,系統釋放。
2.數據的基本算法
+,-,*,/(由此做了個簡易的計算器)
3.比較運算符
( )?( ):( )
?前面為真執行?后第一個( )表達式,反之執行第二個( )表達式內容
4.位運算
4.1 <<
a<<b 即是a左移b位(在二進制表示下)
4.2 >>
a>>b 即是a右移b位(在二進制表示下)
5.逗號表達式
a=(x=3,4+5,x+4)
表達式的值等于最后一個逗號后的表達式的值,即是a=x+4=3+4=7
6.數據的存儲類型
6.1 const
其值不想修改,只讀變量
6.2 register
直接將值儲存在寄存器中,并且值不能超過cpu的最大值
6.3 extern
聲明全局變量
6.4 volatile
每個值從內存取。
例如:
volatile int i=10;
j=i;
j的值從內存中取。
6.5 auto
動態分配內存,數據存儲在動態存儲區,函數調用結束自動釋放這些存儲空間。
6.6 static
聲明靜態變量,相對應的類型儲存在靜態數據區,一般數據只初始化一次,具有記憶功能。

總結

以上是生活随笔為你收集整理的Linux下c的进一步学习的全部內容,希望文章能夠幫你解決所遇到的問題。

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