函式與記憶體

2021-10-22 14:29:07 字數 1224 閱讀 2296

函式是乙個可以重複使用的**段,用來簡化**

函式又分為庫函式和自定義函式

庫函式可以在www.cplusplus.com查詢,使用庫函式要新增標頭檔案.

重點內容是自定義函式

自定義函式組成

返回值型別 函式名(函式引數)

#include

#include

/*x,y形參*/

intmax

(int x,

int y)

return y;

}int

main()

函式名不能叫max,因為c標準庫中(stdlib.h)已經定義了乙個名為max的巨集,可以寫成max,min也一樣

形參是實參的乙份拷貝

接下來看一下這個**

#include

#include

void

swap

(int x,

int y)

intmain()

我們的原意是交換a,b的值,但我們發現這個**並不能實現a,b交換

原因是我們交換的是x,y,而a,b只是我們賦給x,y的值,所以a,b並沒有交

我們如何改進 使用指標

#include

#include

void

swap

(int

* x,

int* y)

intmain()

void swap(int* x, int* y)當中的*和int在一起是個型別,

而int t=x中的是解引用操作或間接訪問操作,

指標是乙個變數,變數裡面存乙個整數,這個整數是記憶體上的位址.

什麼是記憶體上的位址?
我們可以把記憶體想象成乙個長長的大走廊,走廊上有很多個房間,

每個房間多大,是乙個位元組,假如我的電腦有8g個記憶體,就有80億個位元組,走廊就有80億個房間,每乙個房間都有乙個編號,從零開始依次往上遞增,這個編號就叫做記憶體的位址,我們指標變數裡面存文件就是乙個整數就是乙個位址,解引用操作就是根據位址,看這個房間裡面存的資料是什麼.

呼叫函式時,由於形參是指標,存的是位址,所以我們取出a,b的位址

free函式與記憶體管理

new 分配記憶體 呼叫建構函式 delete 釋放記憶體 呼叫析構函式 malloc 分配記憶體 free 釋放記憶體 free函式在msdn中的原型 void free void memblock functionrequired headercompatibility free,ansi,wi...

C C 與記憶體相關的函式

c語言的標準函式庫與記憶體管理有關的函式從功能上分為兩類 一類是系統對記憶體操作的函式,例如,讀記憶體的函式 寫記憶體函式,如從指定位址向記憶體寫乙個位元組,乙個字或向記憶體讀乙個位元組或乙個字操作 另一類是供使用者動態使用記憶體的函式,例如,分配c程式一塊儲存區,並將該區清零函式 假如欲設計乙個c...

C 記憶體操作函式 與 字元處理函式

函式引數為真條件 iscntrl任何控制字元 isspace空白字元 包括空格 換頁 f 回車 r 換行 n 製表符 t v isdigit十進位制數字0 9 isxdigit十六進製制數字,包括所有十進位制數字,小寫字母a f,大寫字母a f islower小寫字母a z isupper大寫字母a...