c语言cis,c语言小白学习历程第五篇
學習目標:
難的咱也看不懂,先把簡單的看了再說,加油L 沖沖沖!
學習時間:
2020年11月1日
學習產出:
回調函數學習:
回調函數說白了就是一個通過函數指針調用的函數。如果你把函數的指針Callback(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數。
#include
int Callback_1()
{
printf(“Hello, this is Callback_1
”);
return 0;
}
int Handle(int (*Callback)())
{
Callback(); //回調函數
}
int main()
{
Handle(Callback_1);
return 0;
}
靜態庫:指編譯鏈接時,把庫文件的代碼全部加入到可執行文件中,因此生成的文件比較大,但在運行時也就不需要庫文件了[一般格式xxx.a的文件]
動態庫:在編譯連接時,沒有把庫文件的代碼全部加入到可執行文件中,而是在程序執行時由運行的鏈接文件加載庫,這樣節省系統開銷[一般格式xxx.so的文件]
gcc在編譯時默認的是使用動態庫
靜態全局變量:只有在定義它的文件內有效[例如在其他文件使用extern關鍵字也無法訪問]。
全局變量:在整個工程文件內都有效[例如使用extern關鍵字在其他文件內就可以使用]。
靜態局部變量:只有在定義它的函數內有效,且程序分配一次內存,函數返回后變量不會消失。
局部變量:定義它的函數內有效,函數返回后局部變量失效
內存四區:
棧區:由編譯器自動分配釋放,存放函數的形參,局部變量等,自動釋放。
堆區:由程序員手動分配釋放[動態內存申請和釋放]。
全局區:用于存放全局變量和靜態變量,里邊細分有一個常量區,存放字符串常量和其他常量。
代碼區:存放CPU執行的機器指令。該區域通常是制度的,防止程序意外地修改它的指令。
總結
以上是生活随笔為你收集整理的c语言cis,c语言小白学习历程第五篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用dll ip转换_如何使用多功能
- 下一篇: 华为杯数学建模优秀论文_【优秀论文】20