一、不能動的“地址”—void指針 1.1 void指針初探 void *表示一個“不知道類型”的指針,也就不知道從這個指針地址開始多少字節為一個數據。和用int表示指針異曲同工,只是更明確是“指針”。 因此void*只能表示一個地址,不能用來&取值,也不能++--移動 ...
一 指針的移動 . 指針的向前及向后移動 指針每次加一就是指針向前移動指針類型對應的字節數。下面通過一個int指針來指向一個int數組,看看指針的加法運算到底是個什么鬼 運行結果如下圖所示: 可以看到,指針的加法就是向前移動指定類型字節數,在數組中就是指向下一個元素。 下面再來看看與加法相反的減法,仍然以上面的代碼為例,新增一句:ptr 運行結果如下圖所示: 可以看出,減法即代表向后移動指針類型對 ...
2015-07-19 02:11 0 4240 推薦指數:
一、不能動的“地址”—void指針 1.1 void指針初探 void *表示一個“不知道類型”的指針,也就不知道從這個指針地址開始多少字節為一個數據。和用int表示指針異曲同工,只是更明確是“指針”。 因此void*只能表示一個地址,不能用來&取值,也不能++--移動 ...
一、使用指針傳出分解后的數字 實現一個方法“多個返回值”的效果:返回一個三位數數字的個位、十位、百位。這里,我們借助指針來”返回“分解后的結果。這種應用也是最常見的指針應用。 測試數字為365,調用parseNumber函數,將要返回的值的地址作為參數傳遞 ...
一個由C/C++編譯的程序占用的內存分為以下幾個部分: 1、棧區(stack):又編譯器自動分配釋放,存放函數的參數值,局部變量的值等,其操作方式類似於數據結構的棧。 2、堆區(he ...
一、使用sizeof計算數組長度 1.1 sizeof的基本使用 如果在作用域內,變量以數組形式聲明,則可以使用sizeof求數組大小,下面一段代碼展示了如何使用sizeof: ...
一、內存的使用 1.1 你創建的內存區域可能是臟的 當我們創建一個內存區域的時候,內存中的數據可能是亂七八糟的(可能是其他代碼用過后遺留的數據),如下面一段代碼: 其運 ...
1.什么是指針: 指針是一個存儲計算機內存地址的變量,即指針變量里面存放的是內存地址。 2.操作符:*和& 操作符*根據出現的位置不同,既可以用來聲明一個指針變量,也可以用作指針的取值。當用在聲明一個變量時,*表示這里聲明了一個指針。其它情況用到*表示指針的取值。 & ...
定義指針變量 定義指針變量與定義普通變量非常類似,不過要在變量名前面加星號*,格式為: datatype *name; 或者 datatype *name = value; *表示這是一個指針變量,datatype表示該指針變量所指向的數據的類型 。例如: int *p1; p1 ...
很多人都知道this指針,這篇文章的主要目的是為了培訓我們公司的新人。 默認的this指針指向 規則1 this指針默認指向方法調用時為其指定的對象,如:obj.fun(),fun方法體中的this指針指向obj。 規則2 如果在方法調用時沒有為方法指定對象 ...