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

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

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

3天內不再提示

C程序設計入門筆記之指針

jf_78858299 ? 來源:滑小稽筆記 ? 作者:滑小稽 ? 2023-03-02 10:15 ? 次閱讀

1、內存地址

用戶在程序中定義了一個變量,對程序進行編譯時,系統就會給這個變量分配內存單元,內存區的每一個字節都有一個編號,這就是內存地址,相當于旅館的房間號,內存地址所表示的內存單元中存放的數據就相當于這個房間住的旅客,假設內存地址0x00000028中存放了一個字節的數據0x28,那么如果我找到了這個內存地址,也就相當于我查到了這里面的數據0x28,可以說地址指向該變量的單元,因此,將地址稱為了指針,意思就是說通過它可以找到以它為地址的內存單元。

2、指針變量與指針

一個變量存放的地址就稱為該變量的指針,如果有一個變量專門用來存放另一個變量的地址,那這個變量就稱為指針變量,指針變量的值是地址。

3、指針變量的定義:通常在變量名前面加一個“*”就代表這是一個指針變量,如下圖所示。

圖片

第9行和第10行都是定義了一個名為num的字符型指針變量,不過推薦使用第10行的定義方式,如果不進行地址初始化,就會成為所說的野指針(就是不知道指向哪個位置了)。

4、指針變量的賦值:指針變量的賦值如下圖所示。

圖片

首先定義了一個指針變量num,然后定義了一個變量a,并設置a的值為0xAA,現在將a的地址傳給num,這就有了第11行的語句,其中&代表取址,即獲取變量a所在的地址,此時可以將num指向的數據打印出來。

圖片

此時程序的運行結果如下圖所示。

圖片

顯然,此時指針變量指向的地址是007CF80B H,這個內存單元中存放的數據為100,就是變量a的初始值。

5、指針變量的使用

現在來進行一個實驗,將變量a的值和變量b的值交換,程序如下圖所示。

圖片

程序運行結果如下圖所示。

圖片

現在思考這么一個問題,為什么交換兩個數據要使用指針的方式呢,定義全局變量不是也可以達到這個效果嗎?首先全局變量在編程的過程中要保證越少越好,因為全局變量的命名規則是不允許重復的,全局空間因為處于最頂層也是最大的命名空間里,所以變量名要保持獨立,不沖突,就需要更完整的表達它的含義,所以名字就會更傾向于寫的很長。全局變量數量越多,取名的難度就會更大,其次,有的時候全局變量太多會有一些莫名其妙的BUG,但是即想要少用全局變量,又要達到數據共享的目的要怎么辦。

這就有兩種途徑,一種是子函數的返回值,另一種就是指針,調用子函數的返回值會耗費掉一部分時間,這個時間在計算機編程中獲取可以忽略不計,但是在后續的單片機編程中就會格外顯眼,一般為了保證控制系統的實時性,一些重要的代碼都會放在中斷里執行,此時,只需要用指針指向對應的內存地址,需要的時候讀一下即可,指針可以定義成局部指針變量,也就解決了全局變量過多的問題。

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

    關注

    8

    文章

    3019

    瀏覽量

    74007
  • C語言
    +關注

    關注

    180

    文章

    7604

    瀏覽量

    136696
  • 指針
    +關注

    關注

    1

    文章

    480

    瀏覽量

    70551
收藏 人收藏

    評論

    相關推薦

    LabVIEW_8.20程序設計入門級資料

    LabVIEW_8.20程序設計入門級資料,適合初學者
    發表于 06-07 15:23

    LabVIEW8.2程序設計入門

    LabVIEW8.2程序設計入門到精通
    發表于 01-05 22:03

    labview8.2程序設計入門到精通(陳錫輝著)

    labview8.2程序設計入門到精通PDF格式
    發表于 04-16 14:40

    C/ C++/ Java 程序設計經典教程》

    環境基礎 1.15 硬件趨勢 1.16 Internet的歷史 1.17 萬維網的歷史 1.18 C語言及本書的注意事項 自測練習 練習 第2章 C程序設計入門 2.1 簡介2.2 一個簡單的
    發表于 11-13 11:22

    LabVIEW8.2程序設計入門到精通

    本帖最后由 一只耳朵怪 于 2018-6-19 11:33 編輯 LabVIEW8.2程序設計入門到精通實驗源碼
    發表于 06-16 20:56

    LabVIEW8.2程序設計入門到精通課后實驗報告

    本帖最后由 一只耳朵怪 于 2018-6-19 11:33 編輯 教材LabVIEW8.2程序設計入門到精通課后的 實驗報告
    發表于 06-16 20:59

    C/ C++/ Java 程序設計經典教程》

    C/ C++/ Java 程序設計經典教程》(Deitel 著) ●集作者幾十年程序設計經驗精華,從軟件工程的原理強調結構化
    發表于 04-08 02:10 ?398次下載

    [Java程序設計入門教程].(.杜邦杰).(掃描版)

    電子發燒友網站提供《[Java程序設計入門教程].(.杜邦杰).(掃描版).txt》資料免費下載
    發表于 03-28 19:53 ?0次下載

    C程序設計的詳細中文資料免費下載

    本文檔的主要內容詳細介紹的是C程序設計的詳細中文資料免費下載內容包括了: 程序設計C語言,算法---程序的靈魂,最簡單的
    發表于 08-01 08:00 ?0次下載

    C語言程序設計教程之指針使用的課件免費下載

    本文檔的主要內容詳細介紹的是C語言程序設計教程之指針使用的課件免費下載指針使用主要內容 地址與指針
    發表于 11-16 17:47 ?15次下載
    <b class='flag-5'>C</b>語言<b class='flag-5'>程序設計</b>教程之<b class='flag-5'>指針</b>使用的課件免費下載

    C語言程序設計學習數組中的指針資料說明

    C程序設計中使用指針可以:使程序簡潔、緊湊、高效,有效地表示復雜的數據結構,動態分配內存,得到多于一個的函數返回值
    發表于 11-16 17:47 ?19次下載
    <b class='flag-5'>C</b>語言<b class='flag-5'>程序設計</b>學習<b class='flag-5'>之</b>數組中的<b class='flag-5'>指針</b>資料說明

    C++程序設計教程之指針的詳細資料說明

    本文檔詳細介紹的是C++程序設計教程之指針的詳細資料說明主要內容包括了:1. 指針的概念,2. 變量與指針,3. 數組與
    發表于 03-14 16:04 ?7次下載
    <b class='flag-5'>C</b>++<b class='flag-5'>程序設計</b>教程之<b class='flag-5'>指針</b>的詳細資料說明

    C語言程序設計第四講結構化程序設計選擇

    C語言程序設計第四講結構化程序設計選擇
    發表于 12-22 10:34 ?0次下載

    C程序設計入門筆記數組與結構體

    數組,結構體和指針C語言里面最難的部分,如果在編程中可以熟練的運用這三樣工具,會大大地提高開發效率,簡化程序結構,提成代碼運行速度。
    的頭像 發表于 03-02 10:13 ?665次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>程序設計入門</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b>數組與結構體

    趣味程序設計入門

    電子發燒友網站提供《趣味程序設計入門.pdf》資料免費下載
    發表于 11-20 10:36 ?0次下載
    趣味<b class='flag-5'>程序設計入門</b>
    主站蜘蛛池模板: 成人欧美一区二区三区白人| 国产精品永久AV无码视频| 黑人干亚洲人| 世界第一黄暴漫画家| 99久久免费视频6| 久久精品国产亚洲AV热无遮挡 | 色爰情人网站| a在线观看视频| 暖暖视频中国在线观看免费韩国| 亚洲qvod图片区电影| 国产www视频| 日本久久黄色| 超碰97免费人妻| 秋霞在线观看视频一区二区三区| 91精品一区二区三区在线观看| 久久99国产精品一区二区| 亚洲精品乱码久久久久久v| 国内精品九九视频| 四虎影视国产精品亚洲精品| 国产99久久九九精品无码不卡| 日本激情网址| 中文字幕视频在线免费观看| 国内偷拍夫妻av| 亚洲AV福利天堂一区二区三| 国产午夜亚洲精品区| 香艳69xxxxx有声小说| 国产午夜免费不卡精品理论片| 午夜影院一区二区三区| 好爽好深太大了再快一点| 亚洲免费观看视频| 久久国产36精品色熟妇| 2018高清国产一区二区三区| 狂操空姐电影| 扒开女人下面使劲桶动态图| 失禁 调教 刺激 哭喊男男| 国产嫩草在线观看| 中文字幕人成乱码中国| 欧美日韩视频高清一区| 国产成a人片在线观看视频99| 亚洲精品成人A8198A片漫画| 久久亚洲精品中文字幕60分钟|