<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言結構體定義

            時間:2025-04-23 08:11:09 C語言 我要投稿

            C語言結構體定義

              C語言中的“結構體”其實就相當于其他高級語言中的“記錄”,結構體的定義方法如下:

              例如:

              Struct student

              { int num;

              char name[20];

              char sex;

              int age;

              float score;

              char addr[30];

              };(注意最后的分號不能省略)。

              其中第一行的“student”是該結構體的名稱,花括號里面的內容是結構體的成員名,這是聲明結構體的一般形式。也可以在聲明結構體的同時對它進行初始化,例如:

              struct stu

              {

              int num;

              char *name;

              char sex;

              float score;

              }pupil[5]={

              {101,"Tom",'M',45.8},

              {102,"Mike",'M',62.5},

              {103,"Chris",'F',92.5},

              {104,"Rose",'F',87.6},

              {105,"Nate",'M',58.8}

              };

              該代碼中的“pupil[5]”稱為結構體數組,它屬于結構體變量,在定義該變量的同時對它進行了初始化操作。我們也可以先聲明結構體,然后再對它進行初始化操作。

              例如:

              #include

              int main()

              {

              struct student

              {

              char name[8];

              int age;

              char sex[4];

              char depart[20];

              float grade1,grade2,grade3;

              }a;

              float wage;

              char c='Y';

              if(c=='Y'||c=='y')

              {

              printf("\nName:");

              scanf("%s", a.name);

              printf("Age:");

              scanf("%d", &a.age);

              printf("Sex:");

              scanf("%s", a.sex);

              printf("Dept:");

              scanf("%s", a.depart);

              printf("Grade1:");

              scanf("%f", &a.grade1);

              printf("Grade2:");

              scanf("%f", &a.grade2);

              printf("Grade3:");

              scanf("%f", &a.grade3);

              wage=a.grade1+a.grade2+a.grade3;

              printf("The sum of wage is %6.2f\n", wage);

              }

              return 0;

              }

              該程序中定義了一個名為“student”的結構體,變量名為“a”,然后再后面“if”包含的符合語句中對該結構體進行初始化。在此,我們可以看出,對結構體的初始化,只能對它里面的每個成員分別初始化。

              #include

              struct stu

              {

              int num;

              char *name;

              char sex;

              float score;

              }pupil[5]={

              {101,"Tom",'M',45.8},

              {102,"Mike",'M',62.5},

              {103,"Chris",'F',92.5},

              {104,"Rose",'F',87.6},

              {105,"Nate",'M',58.8}

              };

              void avg(struct stu *ps)

              {

              int c=0,i;

              float ave,s=0;

              for(i=0;i<5;i++,ps++)

              {

              s+=ps->score;

              if(ps->score<60) c+=1;

              }

              printf("s=%.3f\n",s);

              ave=s/5;

              printf("average=%.3f\ncount=%d\n",ave,c);

              }

              int main()

              {

              struct stu *ps;

              ps=pupil;

              avg(ps);

              return 0;

              }

              此程序是關于結構體指針變量作函數參數,這樣可以提高程序的運行效率,程序中我們定義了一個“stu”的結構體,變量名為“pupil”,并對其進行了初始化,在主函數中定義了一個該結構體的指針ps,將pupil賦值給ps,當函數avg()調用該結構體時,用指針ps來傳遞pupil的地址,從而,提高了該程序的效率。

              結構體與指針的結合使用,可以有效的解決現實生活中的很多問題,因此C語言中的指針和結構體應該能夠熟練的掌握。

            【C語言結構體定義】相關文章:

            C語言結構體教程06-17

            C語言結構體、共同體和用戶定義類型06-25

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

            C語言宏定義07-01

            C語言函數的定義07-13

            C語言變量定義07-29

            初步剖析C語言編程中的結構體02-18

            講解C語言編程中的結構體對齊01-17

            C語言的結構03-01

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院