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

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

C語言——指針

2019-11-14 19:23:30
字體:
來源:轉載
供稿:網友
一、什么是指針

  “指針變量”是指用來存放變量地址的變量。指針變量也是一個變量,它和其他變量的區別在于它里面存的不是普通的數據,而是另一個變量的地址。訪問變量有兩種方式,第一種是直接根據變量名稱取到變量的地址,然后去對應內存地址拿到變量的值,這種方式叫做“直接引用”;第二種方式是定義一個指針變量指向變量,從指針變量中拿到變量的地址,再去對應內存地址拿到變量的值,這種方式叫做“間接引用”。

二、指針的應用

2.1 如何用指針表示一個變量

  下面通過幾張圖片來看一下如何用指針表示一個變量,需要注意的是指針的數據類型必須和它所指向的變量的數據類型相同。

2.2 數組和指針

  數組可以存儲一組相同的數據元素,它們在內存中占用的是連續的內存空間(如下圖所示),所以我們可以通過指針去遍歷或者操作數組。

  回文字符串是指正序和逆序讀該字符串都是一樣的字符串,因此可以定義兩個指針,分別指向字符數組中的第一個字符和最后一個字符,然后依次向后或向前取出成對的字符,進行比較,代碼如下圖所示。

  從上面的例子可以看出,通過指針start++、end--,可以遍歷字符串中的字符。數組是占連續的存儲空間,每個元素所占得字節數就是數組數據類型的字節數,所以實際上start++移動的字節數就是數組中元素所占的字節數,那么指針如何知道元素的數據類型呢?這就回到開頭說到的,定義的指針的數據類型必須和它所指向的變量數據類型相同,換句話說,就是指針只能指向和它定義的數據類型相同的變量。

2.3 指針作參數&指針作返回值

  當我們把某個功能代碼封裝到函數中時,可以用指針作為參數,也可以用指針作為返回值。比如下圖所示例子。

 

  如上所示,在main函數中,由鍵盤輸入了明文存到一個字符串中,然后調用encryption(char *)這個函數完成加密。要加密的內容存儲在數組中,在調用函數的時候,需要將數組傳入,這里是用指針來完成的。調用函數時傳入的psw是數組的地址,被指針p_psw接收,稱為指針變量的值,這個時候,就可以說指針p_psw指向了字符串數組的第一個字符。字符串是以‘/0’結尾的特殊的字符數組,所以通過指針++依次遍歷字符串中每一個字符進行加密,直到指針指向‘/0’結束標志。在函數的結尾又將保留的字符串的首地址的指針作為返回值返回,實際上返回的p_temp是返回的字符數組的首地址。回到main函數,定義了一個新的指針接收返回值,其實就是讓這個新指針p_new指向字符串第一個字符,所以通過puts(p_new)輸出的就是加密之后的字符串。

 

作者:杰瑞教育
出處:http://m.survivalescaperooms.com/jerehedu/ 
本文版權歸煙臺杰瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安岳县| 岳池县| 临夏县| 新和县| 阿鲁科尔沁旗| 天峻县| 洪泽县| 同江市| 壤塘县| 穆棱市| 镶黄旗| 突泉县| 绿春县| 泸州市| 兴仁县| 元谋县| 铜陵市| 永年县| 敦煌市| 商河县| 剑川县| 靖边县| 武乡县| 霍山县| 富裕县| 徐州市| 崇明县| 山东| 海兴县| 汽车| 昌都县| 鹤峰县| 新余市| 宜兴市| 清涧县| 深泽县| 绍兴市| 镇安县| 长寿区| 溆浦县| 礼泉县|