新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言一維數組

        單片機C語言一維數組

        作者: 時間:2013-02-27 來源:網絡 收藏



        在c和c++中數組的指針就是數組的起始地址(也就第一個元素的地址),而且標準文檔規定數組名代表數組的地址(這是地址數值層面的數組表示)。例如:

        int a[10];

        int *p;

        p=a[0]//和p=a是等價的。

        因為a是數組名,所以他是該數組的地址,同時因為第一個元素為a[0],那么a[0]也代表了該數組的地址。但是我們是不是就說一個數組名 和該數組的第一個元素的運算是一回事呢?在一維的時候當時是的,但是在高維的時候,我們要考慮到維數給數組帶來的影響。

        a[10]是一個數組,a是數組名,它是一個包含10個int類型的數組類型,不是一般的指針變量噢!(雖然標準文檔規定在c++中從int[]到 int*直接轉換是可以的,在使用的時候似乎在函數的參數為指針的時候,我們將該數組名賦值沒有任何異樣),a代表數組的首地址,在數字層面和a[10] 的地址一樣。這樣我們就可以使用指針變量以及a來操作這個數組了。

        所以我們要注意以下問題:

        p[i]和a[i]都是代表該數組的第i+1個元素;

        p+i和a+i代表了第i+1個元素的地址,所以我們也可以使用 *(p+I)和*(a+I)來引用對象元素;

        p+1不是對于指針數量上加一,而是表示從當前的位置跳過當前指針指向類型長度的空間,對于win32的int為4byte;

        c語言相關文章:c語言教程


        c++相關文章:c++教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 双柏县| 靖宇县| 当雄县| 启东市| 哈尔滨市| 罗平县| 芦溪县| 南皮县| 太和县| 姚安县| 华池县| 池州市| 伊金霍洛旗| 盘锦市| 凤凰县| 新安县| 关岭| 奈曼旗| 永定县| 连南| 措美县| 盐边县| 焦作市| 故城县| 双流县| 太仓市| 汶川县| 巨野县| 依兰县| 玛沁县| 济南市| 临猗县| 利津县| 武功县| 新民市| 长岭县| 日照市| 德阳市| 越西县| 甘孜县| 安多县|