国产探花免费观看_亚洲丰满少妇自慰呻吟_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”。 這里寫圖片描述

輸出為: 這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彝良县| 信宜市| 米林县| 行唐县| 东宁县| 五指山市| 郴州市| 深泽县| 武威市| 抚松县| 五河县| 嘉兴市| 岫岩| 吉木乃县| 哈密市| 苗栗市| 万山特区| 合肥市| 赤壁市| 巴彦县| 西和县| 上蔡县| 桃园市| 博客| 托克托县| 金沙县| 札达县| 棋牌| 衡阳市| 高密市| 呼图壁县| 鲁甸县| 年辖:市辖区| 泰宁县| 加查县| 社旗县| 绥中县| 上饶市| 三亚市| 徐闻县| 武义县|