国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

雙指針

2019-11-09 14:48:11
字體:
來源:轉載
供稿:網友

iOS中我們遇到雙指針,通常情況下我們是為erorr賦值例如:- (nullable NSDictionary*)attributesOfItemAtPath:(NSString )path error:(NSError *)error

那么”**”是干什么的呢?我們可以用一句話來描述:

只要看到一個方法的參數類型是**,此方法就是要給參數賦值

1.我們先來看一個普通的例子 這里寫圖片描述

輸出為: 這里寫圖片描述

輸出不是456。由此可見這樣賦值是給參數賦不上值的,因為當我們把一個參數傳到一個方法里面的時候,系統內部會做一個事情,系統會拷貝一個指針指向theStr指向的字符串對象。而“str = @”456””代表str這個指針指向了@”456”這個對象。而不是theStr這個指針指向了@”456”。在方法里的指針都是這樣做的。

2.在C語言里我們為參數賦值,會傳一個地址作為參數,&符號為取址運算符,&num為num的地址。系統也會拷貝一個指針,但是拷貝的指針指向的是num的地址。下例中*okNum是一個int類型的指針,它指向的是&num(num的地址)。通過修改指針指向的地址達到修改參數的目的。

這里寫圖片描述

輸出為: 這里寫圖片描述

3.在OC中我們的對象的指針已經帶了一個*號,所以就會出現雙指針的情況。*str指向的是*theStr指向的內存地址。*str指向了@”456”說明指針 *theStr指向的地址改成了@”456”.及theStr的值變成了@”456”。 這里寫圖片描述

輸出為: 這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙田区| 田林县| 扎赉特旗| 衡东县| 桓台县| 甘孜| 兖州市| 昭苏县| 辽源市| 德化县| 鄄城县| 子长县| 茶陵县| 大庆市| 宁国市| 南京市| 会宁县| 梧州市| 石首市| 涡阳县| 曲阳县| 安塞县| 东城区| 明溪县| 松潘县| 久治县| 固镇县| 仙桃市| 丹寨县| 定日县| 晴隆县| 遵义市| 年辖:市辖区| 奉新县| 桐梓县| 饶阳县| 宿州市| 神池县| 大埔县| 连山| 左云县|