<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    指向結構體類型數組的指針的使用

    時間:2025-06-03 15:43:06 C語言 我要投稿
    • 相關推薦

    指向結構體類型數組的指針的使用

      定義一個結構體類型數組,其數組名是數組的首地址,下面是關于指向結構體類型數組的指針的使用具體介紹,歡迎閱讀!

      定義結構體類型的指針,既可以指向數組的元素,也可以指向數組,在使用時要加以區分。

      [例7-3] 在例7 - 2中定義了結構體類型,根據此類型再定義結構體數組及指向結構體類型的指針。

      struct data

      {

      intday,month,year;

      };

      struct stu/*定義結構體*/

      {

      char name[20];

      long num;

      struct data birthday;/嵌*套的結構體類型成員*/

      };

      struct stustudent[4],*p;定/*義結構體數組及指向結構體類型的指針*/

      作p=student,此時指針p就指向了結構體數組student。

      p是指向一維結構體數組的指針,對數組元素的引用可采用三種方法。

      1)地址法

      student+i和p+i均表示數組第i個元素的地址,數組元素各成員的引用形式為:

      (student+i)->name、(student+i)->num和(p+i)->name、(p+i)->num等。student+i和p+i

      與&student[i]意義相同。

      2)指針法

      若p指向數組的某一個元素,則p++就指向其后續元素。

      3)指針的數組表示法

      若p=student,我們說指針p指向數組student,p[i]表示數組的第i個元素,其效果與

      student[i]等同。對數組成員的引用描述為:p[i].name、p[i].num等。

      [例7-4]指向結構體數組的指針變量的使用。

      structdata/*定義結構體類型*/

      {

      intday,month,year;

      };

      structstu/*定義結構體類型*/

      {

      char name[20];

      long num;

      struct data birthday;

      };

      main()

      {inti;

      structstu*p,student[4]={{"liying",1,1978,5,23},{"wangping",2,1979,3,14},

      {"libo",3,1980,5,6},{"xuyan",4,1980,4,21}};

      /*定義結構體數組并初始化*/

      p=student;/*將數組的首地址賦值給指針p,p指向了一維數組student*/

      printf("\n1----Outputname,number,year,month,day\n");

      for(i=0;i<4;i++)/*采用指針法輸出數組元素的各成員*/

      printf("%20s%10ld%10d//%d//%d\n",(p+i)->name,(p+i)->num,

      (p+i)->birthday.year,(p+i)->birthday.month,

      (p+i)->birthday.day);

      }

    【指向結構體類型數組的指針的使用】相關文章:

    如何使用C語言數組指針04-27

    c語言知識:數組指針和指針數組的區別07-27

    c語言數組指針變量的說明和使用07-26

    C語言結構體中的函數指針06-14

    多維數組的指針變量07-29

    C語言指針數組的概念07-19

    C語言數組與指針詳解08-15

    C語言-15:多維數組與指針07-25

    C語言中指針與數組的區別03-11

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人