亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言中數組指針的使用方法

發布時間:2020-06-11 17:52:49 來源:億速云 閱讀:500 作者:鴿子 欄目:編程語言

c語言中數組指針的使用方法

int *a[4]; //指針數組

指針數組就相當于一次聲明了多個指針。數組的每一個元素都是一個指針。很好理解,下面主要看數組指針

int (*p)[4]; //數組指針

數組指針就相當于一次聲明了一個指針。只不過這個指針指向很特別,是一個數組。

[]優先級大于*,故數組指針聲明時要加()。

例1:

#include<stdio.h>#include<stdlib.h>void main()
{    //數組指針的用法,用處。
    int b[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};    int (*p)[4]; //該語句是定義一個數組指針,指針步長為4個int即16位。    //int *p2=&b;
    p=&b;    int i=0;    while(i<16)
    {
          printf("%d\t",(*p)[i]);          //printf("%d\t",*p2++);
          i++;
    }
}

printf("%d\t",(*p)[i]);遍歷輸出數組b;
數組指針就相當于舞王僵尸一樣,帶了小弟,n就是小弟的個數,通過下標值能直接訪問到具體哪一個小弟,即數組里哪一個數

數組指針下標自增(i++)的時候,指針指向不變。

這里直接用整形指針就可實現,而且更方便簡潔。見上面被注釋部分。

例2:把例1的while()語句替換。

  while(i<4)
    {
          printf("%d\t",(*p++)[0]);
          i++;
    }

例2輸出1 5 9 13,相當于指針一次移動了4個int.16個字節。

數組指針自增(*p++)時,指針指向移動sizeof(類型)。

其實上句在其他類型指針也適用。

如int *p;

//指針指向了int,就是整型指針,整型指針有啥特點?就是能保存整形變量的地址。有啥用途?就是p++的時候能指向下一個int型數。所以了?經常用指針指向一個數組。因為他們都是int型的,所以推導出步長了?整型指針的步長為sizeof(int),即4字節

//同理可以得出什么float型指針,char型指針什么的。。。

同理就得出了數組指針,特點?保存數組首地址。用途?p++的時候能指向下一個數組。所以了?要用它來指向一個二維數組。因為二維數組里的每一個元素都是相同類型的(都是一個int型數組),所以推導出步長了?sizeof(int[4]),即16

//說白了就一指針,指向了數組類型

例3:數組指針指向二維數組。

#include<stdio.h>#include<stdlib.h>void main()
{    int a[3][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24}};    int (*p)[4]; //該語句是定義一個數組指針,指針步長為4個int即16位。
    p=&a;    int i=0;    while(i<3)
    {        //printf("%d\t",(*p)[i]);        //數組指針,指向的是一個數組整體,相當于指針也帶了下標,當執行i++操作時,下標+1,得到該數組的下一個元素,        //在該例中,指針沒有位移,所以依次輸出為1 2 3
        printf("%d\t",(*p++)[0]);        //整型數組類型的指針,指向的是一個數組整體,當執行*p++操作時,指針位移該數組長度的位數        //在該例中,即指針位移4個int的長度,所以輸出是1 11 21
        i++;
    }
}

以上就是數組指針的用法有哪些?的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

若尔盖县| 平山县| 宁明县| 宿松县| 壤塘县| 林周县| 鄂尔多斯市| 天等县| 南江县| 玉田县| 江华| 泽普县| 眉山市| 温州市| 理塘县| 滨州市| 迁西县| 滨海县| 佛坪县| 大姚县| 黑山县| 皮山县| 新巴尔虎右旗| 应城市| 射洪县| 拉孜县| 稻城县| 德格县| 宜黄县| 普陀区| 开鲁县| 边坝县| 洛宁县| 黑山县| 资阳市| 峡江县| 太谷县| 新丰县| 桃园市| 宿迁市| 安岳县|