色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言中關鍵詞extern用法的一個注意事項

冬至子 ? 來源:永珂在線 ? 作者:沙鷗520 ? 2023-11-02 14:42 ? 次閱讀

在做項目開發時,在一個單片機C語言程序(用keil開發)中,如果有兩個C文件,在其中一個C文件(設為a文件)定義了一個全局變量v,并在此文件里的程序段里修改此變量,在另外一個C文件(設為b文件)里用外部變量(extern)的方法引用此變量,并讀取變量v,但是,在b中讀取時結果變量v出錯,出現亂值。

什么原因?

v在b文件里作為外部變量,被認為分配的地址在其他地方,在b文件里只是讀取沒有寫入,實際就沒有分配內存地址,從而出錯。

圖片

怎么修改?

方法1,在b文件中定義此變量v,在a文件中用外部變量的方式引用變量v,在a文件里修改變量v,在b文件中回讀變量v,結果正常。

這樣,在b文件里定義了變量v,分配了內存地址,在a文件中引用外部變量v并進行了寫入操作,也分配了內存地址,所以不出錯。

圖片

方法2,最優方法,在一個c文件(如a.c)里定義全局變量v,在其h文件(a.h)里再引用為外部變量,在用到變量v的其他c文件里include a.h,這樣的話不管是否讀寫都無問題。當然,a.c里也要include a.h。

圖片

注意:全局變量才能被外部引用,靜態變量和局部變量不行的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634653
  • C語言
    +關注

    關注

    180

    文章

    7604

    瀏覽量

    136692
  • 靜態變量
    +關注

    關注

    0

    文章

    13

    瀏覽量

    6645
  • extern
    +關注

    關注

    0

    文章

    7

    瀏覽量

    2951
收藏 人收藏

    評論

    相關推薦

    C語言中不建議使用的關鍵詞

    我們在學校學習或者有參加過C語言培訓的話,應該都聽說過“不建議使用goto語句”。但是,般不會有人告訴你為什么不建議使用goto語句,類似于這種存在但不建議使用的關鍵詞還有很多。
    發表于 09-08 14:18 ?1369次閱讀

    C語言for循環的用法注意事項

    C 語言種廣泛使用的編程語言,它具有簡潔、高效、靈活的特點。C 語言中有很多控制流程的語句,
    的頭像 發表于 11-20 18:27 ?2373次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>for循環的<b class='flag-5'>用法</b>和<b class='flag-5'>注意事項</b>

    高速電路中過孔設計注意事項

    ,總結出高速PCb過孔設計中的注意事項關鍵詞:過孔;寄生電容;寄生電感;非穿導孔技術[hide][/hide]
    發表于 08-16 13:33

    [討論]提高網站關鍵詞排名的28SEO小技巧

    提高網站關鍵詞排名的28SEO小技巧關鍵詞位置、密度、處理 URL中出現關鍵詞(英文) 網頁標題中出現關鍵詞(1-3
    發表于 12-01 17:08

    關鍵詞優化有哪些實用的方法

    在這里就來和大家起來分享下。關鍵詞應該怎么去優化,這是我們的思考,然后就要想對應的方法去做優化,通常我們做
    發表于 08-11 01:19

    VHDL語言中信號設置的不同方式,有什么注意事項

    并行同時語句命令主要有哪幾種表達方式?VHDL語言中信號設置的不同方式及注意事項
    發表于 04-08 06:26

    介紹一下關鍵extern用法

    學單片機C語言定要熟悉關鍵字的用法,本文介紹一下關鍵ex
    發表于 07-15 06:38

    C語言中的數據類型有哪幾種?const有哪些用法

    C語言中的數據類型有哪幾種?const有哪些用法?作用域與static用法是什么?extern是如何去使用的?
    發表于 07-22 06:51

    c語言和單片機遇見的小注意事項

    c語言和單片機遇見的小注意事項(會長期更)c語言中1.定義字符串char str[30]="abcdefg";[30]預存空間不可以忘記2.
    發表于 12-09 07:23

    編寫C語言時常見的注意事項有哪些

    為什么學C語言?編寫C語言時常見的注意事項有哪些?C語言
    發表于 02-25 07:15

    VHDL語言中信號的不同形式設置

    摘要: 通過偶同位產生器邏輯功能的實現過程,介紹了VHDL語言中信號設置的不同方 式及注意事項,并給出了完整的程序代碼。 關鍵詞: VH
    發表于 10-06 08:48 ?1315次閱讀
    VHDL<b class='flag-5'>語言中</b>信號的不同形式設置

    C語言中的#和##的用法

    1. 前言 使用#把宏參數變為一個字符串,用##把兩宏參數貼合在起. 2. 用法 3. 注意事項
    的頭像 發表于 12-06 09:34 ?7.6w次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的#和##的<b class='flag-5'>用法</b>

    C語言中的typedef的用法

    在以前的學習中對于C語言中typedef和define的認識是,#define是宏,作用是簡單的替換,而typedef也是替換,只不過比define高級的是在替換的時候會進行語法檢查。但是后來
    發表于 01-13 13:36 ?0次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言中</b>的typedef的<b class='flag-5'>用法</b>

    C語言中__attribute__ 關鍵字的用法

    嵌入式開發,離不開 C 語言C語言中有很多語法會直接或間接影響你代碼的質量,下面就來講講__attribute__ 關鍵字的
    發表于 10-19 09:06 ?1.2w次閱讀

    淺析C語言中的regiseter關鍵

    C語言中重要的關鍵字有很多,static const extern我們之前都講過,還有在面試
    的頭像 發表于 08-25 17:10 ?1121次閱讀
    淺析<b class='flag-5'>C</b><b class='flag-5'>語言中</b>的regiseter<b class='flag-5'>關鍵</b>字
    主站蜘蛛池模板: 四虎视频最新视频在线观看| 精品无码乱码AV| sihu国产精品永久免费| 在线超碰免费视频观看| 亚洲欧美精品无码一区二在线| 天天色天天干天天| 色视频色露露永久免费观看| 日本xxxxx按摩19| 日本后进式猛烈xx00动态图| 日本高清片免费观看| 人妻满熟妇AV无码区国产| 欧美乱妇狂野欧美在线视频| 女性露出奶头流出精子| 男人脱女人衣服吃奶视频| 免费人成视频X8X8国产更快乐| 久久无码AV亚洲精品色午夜麻豆| 久久精品av| 久久综合色一综合色88| 伦理片 a在线线版韩国| 嫩草亚洲国产精品| 全文都是肉高h文| 日本午夜精品理论片A级APP发布 | 一本大道香蕉中文在线视频观看| 亚洲精品国产精品精| 亚洲宅男天堂a在线| 在线观看国产精美视频| 瑜伽牲交AV| vivoe另类| qvod在线观看| 高龄熟女50P| 国产欧美日韩网站| 久久99精品国产麻豆婷婷| 老人洗澡自拍xxx互摸| 欧美丰满熟妇BBB久久久| 青柠在线视频| 我不卡影院手机在线观看| 亚洲精品国偷拍电影自产在线| 用快播看黄的网站| chinese东北夫妻video| 国产成人免费| 久久99精品涩AV毛片观看|