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

首頁 > 編程 > C > 正文

C語言指針學習經驗總結淺談

2020-01-26 16:21:27
字體:
來源:轉載
供稿:網友

   這篇C語言指針學習經驗總結主要是我入職以來學習C指針過程中的點滴記錄。文檔里面就不重復書上說得很清楚的概念性東西,只把一些說得不清楚或理解起來比較費解的東西做一下講解,希望能達到以下三個目的

1.通過寫這些東西,把我腦袋中關于C的模糊的知識清晰化。
2.給初轉C的同事們一點提示和幫助。
3.也希望各位前輩檢查一下文檔中是否有理解偏差的地方。
1 指針的概念分解
      指針是一個特殊的變量,它里面存儲的數值被解釋成為內存里的一個地址。 要搞清一個指針需要搞清指針的四方面的內容:

1.指針的類型
2.指針所指向的類型
3.指針的值或者叫指針所指向的內存區
4.還有指針本身所占據的內存區
先聲明幾個指針放著做例子:

例一:

(1)int *ptr;

(2)char *ptr;

(3)int **ptr;

(4)int (*ptr)[3];

(5)int *(*ptr)[4];

1.1 指針的類型
      從語法的角度看,你只要把指針聲明語句里的指針名字去掉,剩下的部分就是這個指針的類型。這是指針本身所具有的類型。所以分析下例一中各個指針的類型:

(1)int *ptr; //指針的類型是int *

(2)char *ptr; //指針的類型是char *

(3)int **ptr; //指針的類型是 int **

(4)int (*ptr)[3]; //指針的類型是 int(*)[3]

(5)int *(*ptr)[4]; //指針的類型是 int *(*)[4]

所以找出指針的類型的方法是不是很簡單?

1.2 指針所指向的類型
     當你通過指針來訪問指針所指向的內存區時,指針所指向的類型決定了編譯器將把那片內存區里的內容當做什么來看待。從語法上看,你只須把指針聲明語句中的指針名字和名字左邊的指針聲明符 *去掉,剩下的就是指針所指向的類型。例如:

(1)int *ptr; //指針所指向的類型是int

(2)char *ptr; //指針所指向的的類型是char

(3)int **ptr; //指針所指向的的類型是 int *

(4)int (*ptr)[3]; //指針所指向的的類型是 int()[3]

(5)int *(*ptr)[4]; //指針所指向的的類型是 int *()[4]

在指針的算術運算中,指針所指向的類型有很大的作用。

    指針的類型(即指針本身的類型)和指針所指向的類型是兩個概念。當對C越來越熟悉時,你會發現,把與指針攪和在一起的“類型”這個概念分成“指針的 類型”和“指針所指向的類型”兩個概念,是精通指針的關鍵點之一。有些教材書上寫得很差,就把指針的這兩個概念攪在一起了,所以看起書來前后矛盾,越看越糊涂。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 共和县| 凤阳县| 聊城市| 凤凰县| 赫章县| 平远县| 黑河市| 兰溪市| 台中市| 彭水| 珠海市| 六盘水市| 安顺市| 广州市| 清丰县| 甘谷县| 富源县| 夏邑县| 增城市| 盐源县| 监利县| 无锡市| 磐石市| 淮滨县| 辽阳市| 于田县| 扬州市| 商河县| 江达县| 土默特右旗| 凤凰县| 英德市| 东乡族自治县| 绿春县| 兴文县| 建水县| 宽城| 广水市| 晋州市| 枣强县| 广宁县|