久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      數(shù)組指針的用法有哪些?

      數(shù)組指針的用法有哪些?

      int *a[4]; //指針數(shù)組

      指針數(shù)組就相當(dāng)于一次聲明了多個(gè)指針。數(shù)組的每一個(gè)元素都是一個(gè)指針。很好理解,下面主要看數(shù)組指針

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

      數(shù)組指針就相當(dāng)于一次聲明了一個(gè)指針。只不過(guò)這個(gè)指針指向很特別,是一個(gè)數(shù)組。

      []優(yōu)先級(jí)大于*,故數(shù)組指針聲明時(shí)要加()。

      例1:

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

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

      數(shù)組指針下標(biāo)自增(i++)的時(shí)候,指針指向不變。

      這里直接用整形指針就可實(shí)現(xiàn),而且更方便簡(jiǎn)潔。見(jiàn)上面被注釋部分。

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

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

      例2輸出1 5 9 13,相當(dāng)于指針一次移動(dòng)了4個(gè)int.16個(gè)字節(jié)。

      數(shù)組指針自增(*p++)時(shí),指針指向移動(dòng)sizeof(類型)。

      其實(shí)上句在其他類型指針也適用。

      如int *p;

      //指針指向了int,就是整型指針,整型指針有啥特點(diǎn)?就是能保存整形變量的地址。有啥用途?就是p++的時(shí)候能指向下一個(gè)int型數(shù)。所以了?經(jīng)常用指針指向一個(gè)數(shù)組。因?yàn)樗麄兌际莍nt型的,所以推導(dǎo)出步長(zhǎng)了?整型指針的步長(zhǎng)為sizeof(int),即4字節(jié)

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

      同理就得出了數(shù)組指針,特點(diǎn)?保存數(shù)組首地址。用途?p++的時(shí)候能指向下一個(gè)數(shù)組。所以了?要用它來(lái)指向一個(gè)二維數(shù)組。因?yàn)槎S數(shù)組里的每一個(gè)元素都是相同類型的(都是一個(gè)int型數(shù)組),所以推導(dǎo)出步長(zhǎng)了?sizeof(int[4]),即16

      //說(shuō)白了就一指針,指向了數(shù)組類型

      例3:數(shù)組指針指向二維數(shù)組。

      #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]; //該語(yǔ)句是定義一個(gè)數(shù)組指針,指針步長(zhǎng)為4個(gè)int即16位。     p=&a;    int i=0;    while(i<3)     {        //printf("%dt",(*p)[i]);        //數(shù)組指針,指向的是一個(gè)數(shù)組整體,相當(dāng)于指針也帶了下標(biāo),當(dāng)執(zhí)行i++操作時(shí),下標(biāo)+1,得到該數(shù)組的下一個(gè)元素,        //在該例中,指針沒(méi)有位移,所以依次輸出為1 2 3         printf("%dt",(*p++)[0]);        //整型數(shù)組類型的指針,指向的是一個(gè)數(shù)組整體,當(dāng)執(zhí)行*p++操作時(shí),指針位移該數(shù)組長(zhǎng)度的位數(shù)        //在該例中,即指針位移4個(gè)int的長(zhǎng)度,所以輸出是1 11 21         i++;     } }

      推薦教程:《C視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)