日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> 單片機(jī)C語(yǔ)言指針的指針

單片機(jī)C語(yǔ)言指針的指針

關(guān)鍵字:指針 單片機(jī) C語(yǔ)言 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-19  瀏覽:14

指針的指針

一個(gè)指針變量?jī)?nèi)部可以存儲(chǔ)一個(gè)值,這個(gè)值是另外一個(gè)對(duì)象的地址,所以我們說(shuō)一個(gè)指針變量可以指向一個(gè)普通變量,同樣這個(gè)指針變量也有一個(gè)地址,也就是 說(shuō)有一個(gè)東西可以指向這個(gè)指針變量,然后再通過(guò)這個(gè)指針變量指向這個(gè)對(duì)象。那么如何來(lái)指向這個(gè)指針變量呢?由于指針變量本身已經(jīng)是一個(gè)指針了(右值),那 么我們這里就不能用一般的指針了,需要在指針上體現(xiàn)出來(lái)這些特點(diǎn),我們需要定義指針的指針(二重指針)。

int *p1=&i;

int**p2=&p1;

綜合以上的所有點(diǎn),下面是我們常?吹揭恍┢ヅ(也是經(jīng)常出錯(cuò)的地方):

int a[3],b[2][3],c,*d[3];
void fun1(int *p);
void fun2(int (*p)[3]);
void fun3(int **p);
void fun4(int p[3]);
void fun5(int p[]);
void fun6(int p[2][3]);
void fun7(int (&p)[3]);

函數(shù) 不會(huì)產(chǎn)生編譯時(shí)刻的可能值(但邏輯上不一定都對(duì))--這里我覺(jué)得應(yīng)該是有效的值

單片機(jī)C語(yǔ)言指針的指針

為什么可以有這樣的搭配,原因如下:

對(duì)于fun1 fun4 fun 5: 在編譯器看來(lái)fun1,fun4,fun5的聲明是一樣,在編譯時(shí)候,編譯器把數(shù)組的大小舍去不考慮,只考慮它是一個(gè)指針,也就是說(shuō)有沒(méi)有大小說(shuō)明是一樣的,所以三者的形式都是fun1的形式(其實(shí)只要提供了int*指針就可以了);

對(duì)于fun7 :以上的解釋對(duì)于引用是不適用的,如果變量被聲明為數(shù)組的引用,那么編譯器就要考慮數(shù)組的大小了,那么必須和聲明一模一樣(所以fun7就只有a合適);

對(duì)于fun2:p是一個(gè)指向一個(gè)含有3個(gè)元素的數(shù)組,這樣b和b+i正好合適,而a卻不是(它是指向a[0]的,不是指向這個(gè)數(shù)組的);

對(duì)于fun3:p是一個(gè)指針的指針,而d指向d[0],同時(shí)d[0]又是一個(gè)指針,所以d就是一個(gè)指針的指針。但是b卻不是(它是一個(gè)2*3的矩陣也就是年int [2][3]類(lèi)型);

對(duì)于fun6,p是一個(gè)2*3的數(shù)組類(lèi)型,和b恰好完全匹配

編輯:admin  最后修改時(shí)間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

屯门区| 来宾市| 阿坝| 科技| 蓝田县| 郁南县| 肃北| 辉县市| 皋兰县| 楚雄市| 浦东新区| 陇川县| 达拉特旗| 佛坪县| 句容市| 山丹县| 临猗县| 长宁区| 乌海市| 外汇| 高陵县| 同德县| 绵阳市| 陆丰市| 汉川市| 平遥县| 武胜县| 武川县| 濮阳县| 陇南市| 瑞安市| 娄底市| 长顺县| 额济纳旗| 清涧县| 赤峰市| 牡丹江市| 于田县| 沙田区| 海淀区| 将乐县|