02 關於交換函式Swap的一些用法和常見錯誤

2021-10-24 17:15:23 字數 678 閱讀 3611

關於野指標:也稱為懸掛指標,你沒有訪問許可權的位址(指標),這個指標有可能不存在也有可能存在但是你不能訪問

野指標很麻煩,不好判斷(錯誤的**號碼)

1.位址不存在(**號少一位)

2.位址存在但是不能訪問(**號寫成別人)

3.位址之前可以訪問,但現在不可以(更換**號碼,我卻給你之前的號碼打**)

結論:乙個函式(父函式)呼叫另乙個函式(子函式),想通過子函式修改父函式的資料.必須傳指標,子函式內部解引用

換句話說,子函式的改變要想影響父函式的資料必須傳指標和解引用.

//交換兩個變數的值,列舉常見的三個錯誤

void

swap_err1

(int a,

int b)

void

swap_err2

(int

*p1,

int*p2)

//錯誤

void

swap_err3

(int

*p1,

int*p2)

void

swap

(int

*p1,

int*p2)

//正確

intmain()

關於指標的一些理解(以自定義swap函式為例)

void swap int p1,int p2 通過指標的操作實現虛實結合。關於虛實結合,我的理解是 主函式中傳入位址給臨時設定的形參,即指標變數p1,p2,這是實向虛的轉換。而函式體內的操作,是將指標所指向的空間的內容發生交換 此空間即主函式傳入的指標所指空間 這是虛對實的操作。最後函式體結束,臨...

關於交換函式Swap的常見錯誤和用法

關於野指標 也稱為懸掛指標,你沒有訪問許可權的位址 指標 這個指標有可能不存在也有可能存在但是你不能訪問 野指標很麻煩,不好判斷 1.位址不存在 2.位址存在但是不能訪問 3.位址之前可以訪問,但現在不可以 結論 乙個函式 父函式 呼叫另乙個函式 子函式 想通過子函式修改父函式的資料.必須傳指標,子...

關於CString的一些操作函式

cstring a a.getbuffer 0 轉換字串函式。atof 在c語言中存在函式atof 可以將字串轉換為數值,不需要逐個字元解析。其函式宣告為 doubleatof const char nptr cstring物件作為引數也可以完成轉換。cstring digital 123.45 d...