哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個(gè)簡(jiǎn)單例子講清楚指針的應(yīng)用

Q4MP_gh_c472c21 ? 來(lái)源:嵌入式ARM ? 作者:嵌入式ARM ? 2021-02-10 17:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

很多人遇到指針就糊涂,搞不清到底指向什么,其實(shí)是你沒(méi)搞清楚 * 修飾誰(shuí),還有一些關(guān)鍵字修飾誰(shuí)。

看下面的例子,定義一個(gè)無(wú)符號(hào)字符變量x,然后同時(shí)定義一個(gè)可以指向x的指針p,即可以將x的地址放到指針變量p里面,然后又定義了一個(gè)可以存放p地址的指針pp:

#include "stdio.h"int main(void){//無(wú)符號(hào)字符變量x,指向無(wú)符號(hào)字符變量類(lèi)型的指針p,指向指針類(lèi)型p的指針pp.unsigned char x,*p,**pp;        x=12;        p=&x;        pp=&p;//const是修飾指針指向的對(duì)象屬性,意思是指針kp只能指向一個(gè)const常量,而kp可以被修改指向不同的const常量,但是不能通過(guò)kp指針修改指向變量的值。int const *kp,k=20,kv=32;        kp=&k;        kp=&kv;//const是修飾指針mp,mp將指向固定的地址,因此在定義的時(shí)候就應(yīng)該指定好該地址,之后無(wú)法修改該指針內(nèi)的地址。int mv=14;int *const mp=&mv;//可以讓kp指向mv的地址,但是不能通過(guò)kp,修改mv的值;                kp=&mv;/*        總結(jié):        const *p 表示*p是一個(gè)整體,即指針p指向的某個(gè)變量,而const修飾該變量;                        * const p表示const p是一個(gè)整體,const 修飾指針p,即指針p存放的地址不能變。        */printf("*p=%d
",*p);printf("**pp=%d
",**pp);printf(" p=%d
",p);printf("pp=%d
",pp);printf("pp=%d
",&pp);}
很多時(shí)候還會(huì)遇到const關(guān)鍵字,很多人不知道該如何結(jié)合,到底const修飾誰(shuí)?
這里你可以將定義看成是從右到左的結(jié)合。

int const *kp;
int *const mp;

例如例子中的這兩個(gè),你看好了,從右到左

int const (*kp);
int *(const mp);

第一個(gè)括號(hào)里是表示kp指針指向的某個(gè)變量,該變量是個(gè)const常量,不可變。
第二個(gè)是const直接修飾了指針mp,意思是指針存放的內(nèi)容是不可變的,就是地址不可變。

*與&是一對(duì)逆操作,*的出現(xiàn)用于定義指針,在使用的時(shí)候用于通過(guò)指針找到指向的變量。

而&用于取出變量的地址。

在PC測(cè)試上,推薦一個(gè)C語(yǔ)言的IDE,是C語(yǔ)言入門(mén)圣經(jīng)C primer plus上推薦的一款:Pelles C IDE

86b8d9bc-5f65-11eb-8b86-12bb97331649.png

如果想使用中文界面可以訪問(wèn)下面這個(gè)中文鏈接:https://www.pellesc.cn/ 例如一個(gè)指向固定地址的指針,若想修改它指向的地址,那么會(huì)報(bào)錯(cuò)

88bf8bca-5f65-11eb-8b86-12bb97331649.png

上面的報(bào)錯(cuò)信息意思是賦值錯(cuò)誤,'='的操作數(shù)有不兼容的類(lèi)型'int *'和'int',分配到了固定的地址。該固定的地址是不可以被修改的。

另外需要注意,如果一個(gè)變量定義為指向常量的指針,那么該指針還是可以指向一個(gè)可變的變量,但是無(wú)法通過(guò)該指針修改該變量。該變量的屬性就是通過(guò)它操作指向的變量都當(dāng)做不可修改常量看待。

報(bào)錯(cuò)內(nèi)容如下:

896c439c-5f65-11eb-8b86-12bb97331649.png


8cd76cc8-5f65-11eb-8b86-12bb97331649.png

最后奉上,注釋掉不合法的語(yǔ)句后的完整學(xué)習(xí)代碼
#include "stdio.h"
int main(void){//無(wú)符號(hào)整形變量x,指向無(wú)符號(hào)整形變量類(lèi)型的指針p,指向指針類(lèi)型p的指針pp.        unsigned int x,*p,**pp;        x=12;        p=&x;        pp=&p;        printf("通過(guò)指針p,打印x的值12:*p=%d
",*p);        printf("通過(guò)指針pp,打印pp存放的指針p指向的變量x的值:**pp=%d
",**pp);        printf("打印變量x的地址:        &x=%p
",&x);        printf("打印指針p存放的變量x的地址:p=%p
",p);        printf("打印指針p的地址:        pp=%p
",pp);        printf("打印指針變量pp的地址:        pp=%p
",&pp);        printf("--------------------------------------------
");//const是修飾指針指向的對(duì)象屬性,意思是指針kp只能指向一個(gè)const常量,而kp可以被修改指向不同的const常量,但是不能通過(guò)kp指針修改指向變量的值。        int const *kp,k=20,kv=32;        kp=&k;        printf("通過(guò)指針kp訪問(wèn)固定的數(shù)k,*kp=%d
",*kp);        kp=&kv;        printf("通過(guò)指針kp訪問(wèn)固定的數(shù)kv,*kp=%d
",*kp);//        通過(guò)kp不可以修改指向地址存放變量的固定值。//        *kp=21;


//const是修飾指針mp,mp將指向固定的地址,因此在定義的時(shí)候就應(yīng)該指定好該地址,之后無(wú)法修改該指針內(nèi)的地址。        int mv=14,mx=24;        int *const mp=&mv;        printf("通過(guò)存放固定地址的指針訪問(wèn)指向的變量mv=14:*mp=%d
",*mp);        *mp=15;        printf("通過(guò)存放固定地址的指針修改指向的變量mv=15:*mp=%d
",*mp);//可以讓kp指向mv的地址,但是不能通過(guò)kp,修改mv的值;                kp=&mx;        printf("將指向固定數(shù)據(jù)的指針kp指向一個(gè)可以修改的變量mx=24,*kp=%d
",*kp);//        試圖通過(guò)指向固定常量的指針kp修改指向的可修改變量mx時(shí)候,失敗了。//        *kp=25;
//因?yàn)閙p指針指向的地址是const類(lèi)型,所以下面的操作是非法的,會(huì)報(bào)錯(cuò)。        //        mp=&24;
/*        總結(jié):        const *p 表示*p是一個(gè)整體,即指針p指向的某個(gè)變量,而const修飾該變量;                        * const p表示const p是一個(gè)整體,const 修飾指針p,即指針p存放的地址不能變。        */}

責(zé)任編輯:xj

原文標(biāo)題:指針的應(yīng)用,一個(gè)簡(jiǎn)單例子講清楚你多年的糊涂

文章出處:【微信公眾號(hào):嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    484

    瀏覽量

    71947
  • CONST
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    8814

原文標(biāo)題:指針的應(yīng)用,一個(gè)簡(jiǎn)單例子講清楚你多年的糊涂

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ?VA和W怎么換算?功率因數(shù)怎么算??jī)?yōu)比施電源講清楚

    ?在選購(gòu)UPS電源或任何電氣設(shè)備時(shí),很多人都會(huì)遇到個(gè)困惑:設(shè)備銘牌上標(biāo)注的VA和W到底是什么意思?它們之間有什么關(guān)系?為什么有的設(shè)備標(biāo)500VA,有的標(biāo)500W,兩者卻不相等?今天,優(yōu)比施電源就從
    的頭像 發(fā)表于 03-07 13:31 ?518次閱讀
    ?VA和W怎么換算?功率因數(shù)怎么算??jī)?yōu)比施電源<b class='flag-5'>一</b>次<b class='flag-5'>講清楚</b>

    MTBF測(cè)試對(duì)電子產(chǎn)品的重要性

    MTBF 不只是個(gè)?“小時(shí)數(shù)”,它是產(chǎn)品可靠性的身份證,直接決定能不能賣(mài)、好不好賣(mài)、賣(mài)完穩(wěn)不穩(wěn)。下面用最直白的邏輯講清楚它為什么重要。
    的頭像 發(fā)表于 02-25 11:28 ?186次閱讀
    MTBF測(cè)試對(duì)電子產(chǎn)品的重要性

    指針與函數(shù)詳解

    = a + b; return(p); } 這是個(gè)簡(jiǎn)單指針函數(shù)的例子,運(yùn)行結(jié)果如下,本文代碼在VScode平臺(tái)運(yùn)行,使用方法《
    發(fā)表于 01-23 06:02

    什么是新能源移動(dòng)充電車(chē)?篇文章講清楚它的類(lèi)型和原理

    隨著全球新能源汽車(chē)市場(chǎng)高速發(fā)展,傳統(tǒng)的固定充電基礎(chǔ)設(shè)施在城市高密度區(qū)域、老舊小區(qū)以及配電網(wǎng)承載力方面面臨著嚴(yán)峻挑戰(zhàn)。在此背景下,新能源 移動(dòng)充電車(chē) 作為種創(chuàng)新的解決方案快速崛起,其核心優(yōu)勢(shì)在于
    的頭像 發(fā)表于 01-20 14:36 ?880次閱讀

    壓接款連接器優(yōu)勢(shì)有哪些?講清楚

    突破接線瓶頸,凌科電氣M20系列壓接款工業(yè)連接器全新上市——以卓越的可靠性與極致便捷,重新定義工業(yè)連接標(biāo)準(zhǔn)。
    的頭像 發(fā)表于 01-06 13:57 ?866次閱讀

    函數(shù)指針指針函數(shù)的區(qū)別

    在學(xué)習(xí)arm過(guò)程中發(fā)現(xiàn)這“指針函數(shù)”與“函數(shù)指針”容易搞錯(cuò),所以今天,我自己想次把它搞清楚,找了些資料,和大家的
    發(fā)表于 12-12 06:34

    企業(yè)為什么開(kāi)始換用 RFID智能硬盤(pán)柜?選型標(biāo)準(zhǔn)講清楚

    在企業(yè)的數(shù)據(jù)資產(chǎn)管理體系中,硬盤(pán)直是非常特殊的類(lèi)介質(zhì)。它體積小、價(jià)值高、存儲(chǔ)密度大,旦丟失或流轉(zhuǎn)不規(guī)范,風(fēng)險(xiǎn)遠(yuǎn)高于紙質(zhì)檔案。本文結(jié)合業(yè)內(nèi)廣泛采用斯科兩款機(jī)型——CK-GYP?和?CK-GYP1,把企業(yè)在選型時(shí)真正需要關(guān)注的
    的頭像 發(fā)表于 12-10 09:38 ?349次閱讀

    單模 vs 多模:光纖選擇終極指南

    很多朋友在組建網(wǎng)絡(luò)時(shí)都會(huì)遇到個(gè)核心問(wèn)題:我到底該用多模光纖還是單模光纖?今天,小易就為大家徹底講清楚這兩者的區(qū)別,幫助您做出最經(jīng)濟(jì)、高效的選擇。
    的頭像 發(fā)表于 12-08 14:12 ?1299次閱讀
    單模 vs 多模:光纖選擇終極指南

    別再迷糊了!Linux交叉編譯到底是個(gè)啥?講清楚

    很多工程師第次聽(tīng)到“交叉編譯”這4個(gè)字時(shí),腦袋里往往會(huì)冒出兩個(gè)字: 抽象 。 明明寫(xiě)代碼寫(xiě)得好好的,為啥還要搞個(gè)“交叉”?編譯不就是把源代碼變成可執(zhí)行程序嗎,難道還會(huì)繞幾個(gè)彎? 別
    的頭像 發(fā)表于 12-03 16:28 ?1276次閱讀
    別再迷糊了!Linux交叉編譯到底是<b class='flag-5'>個(gè)</b>啥?<b class='flag-5'>一</b>文<b class='flag-5'>講清楚</b>

    講清楚TVS二極管的作用和分類(lèi)

    TVS二極管(Transient Voltage Suppression Diode,瞬態(tài)電壓抑制二極管)是種專(zhuān)門(mén)用于抑制電路中瞬態(tài)過(guò)電壓的半導(dǎo)體器件,其核心作用是通過(guò)快速響應(yīng)和低鉗位電壓保護(hù)
    的頭像 發(fā)表于 11-18 16:41 ?2818次閱讀
    <b class='flag-5'>一</b>文<b class='flag-5'>講清楚</b>TVS二極管的作用和分類(lèi)

    講清楚線性霍爾靈敏度和輸出關(guān)系

    線性霍爾靈敏度與輸出范圍的關(guān)系解析 、核心定義與物理基礎(chǔ) 靈敏度(Sensitivity) 線性霍爾傳感器的靈敏度(單位:mV/mT 或 mV/G)表示單位磁場(chǎng)強(qiáng)度變化時(shí)輸出電壓的變化量。例如
    的頭像 發(fā)表于 11-18 16:38 ?1335次閱讀

    工業(yè)級(jí)防爆型PDA手持終端(化工/石油/礦場(chǎng)等場(chǎng)景)的實(shí)操指南

    今天講防爆型PDA手持終端,主要會(huì)講到:為什么要用防爆PDA、它們到底怎么防爆、要看哪些證書(shū)與參數(shù)、不同場(chǎng)景的選型與落地注意點(diǎn)、以及采購(gòu)/驗(yàn)收/運(yùn)維清單”都會(huì)盡量講清楚
    的頭像 發(fā)表于 11-04 15:02 ?691次閱讀
    工業(yè)級(jí)防爆型PDA手持終端(化工/石油/礦場(chǎng)等場(chǎng)景)的實(shí)操指南

    阿里云設(shè)備的物模型數(shù)據(jù)里面始終沒(méi)有值是哪里的問(wèn)題?

    如上圖,不知道講清楚沒(méi)有。 IG502自定義TOPIC 上發(fā)到阿里云沒(méi)問(wèn)題。采用阿里云物模型的格式來(lái)上發(fā)就不行。請(qǐng)大佬指教!
    發(fā)表于 08-05 06:43

    文了解什么是 BQB 認(rèn)證

    講清楚。、什么是BQB認(rèn)證?BQB是BluetoothQualificationBody的縮寫(xiě),即“藍(lán)牙資格認(rèn)證”。它是由**藍(lán)牙技術(shù)聯(lián)盟(BluetoothSI
    的頭像 發(fā)表于 07-18 14:53 ?2105次閱讀
    <b class='flag-5'>一</b>文了解什么是 BQB 認(rèn)證

    講清楚芯片的分類(lèi)-多個(gè)維度

    芯片作為現(xiàn)代電子設(shè)備的核心組件,其分類(lèi)方式多樣,以下從功能、應(yīng)用領(lǐng)域、制造工藝、集成度、設(shè)計(jì)架構(gòu)、用途、數(shù)據(jù)類(lèi)型、工作方式、材料及封裝形式十個(gè)維度進(jìn)行詳細(xì)闡述: 、按功能分類(lèi) 1. 處理器芯片
    的頭像 發(fā)表于 05-06 15:04 ?6906次閱讀
    阿克苏市| 渭南市| 正定县| 长宁区| 定远县| 句容市| 宁城县| 裕民县| 马关县| 富民县| 鄢陵县| 肥西县| 晋城| 阿拉尔市| 曲周县| 宁陕县| 宜昌市| 凌源市| 新营市| 东兴市| 北票市| 礼泉县| 登封市| 中超| 广元市| 平和县| 融水| 罗田县| 巴林左旗| 砚山县| 霍邱县| 奎屯市| 南漳县| 西青区| 安阳市| 西贡区| 江西省| 雅安市| 卓资县| 大余县| 金塔县|