<ruby id="bdb3f"></ruby>

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

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 結構 > 原文: [https://www.programiz.com/c-programming/c-structures](https://www.programiz.com/c-programming/c-structures) #### 在本教程中,您將學習 C 編程中的結構類型。 您將借助示例學習定義和使用結構。 在 C 編程中,結構(或結構)是單個名稱下的變量(可以是不同類型)的集合。 * * * ## 如何定義結構? 在創建結構變量之前,需要定義其數據類型。 要定義結構,請使用`struct`關鍵字。 ### `struct`的語法 ```c struct structureName { dataType member1; dataType member2; ... }; ``` 這是一個例子: ```c struct Person { char name[50]; int citNo; float salary; }; ``` 在此,定義派生類型`struct Person`。 現在,您可以創建這種類型的變量。 * * * ## 創建結構變量 聲明結構類型時,不會分配任何存儲或內存。 要分配給定結構類型的內存并使用它,我們需要創建變量。 這是我們創建結構變量的方法: ```c struct Person { char name[50]; int citNo; float salary; }; int main() { struct Person person1, person2, p[20]; return 0; } ``` 創建結構變量的另一種方法是: ```c struct Person { char name[50]; int citNo; float salary; } person1, person2, p[20]; ``` 在這兩種情況下,都會創建兩個變量`person1`,`person2`和具有 20 個類型為`struct Person`的元素的數組變量`p`。 * * * ## 訪問結構的成員 有兩種類型的運算符用于訪問結構的成員。 1. `.` - 成員運算符 2. `->` - 結構指針運算符(將在下一個教程中討論) 假設您要訪問`person2`的`salary`。 這是您的操作方法。 ```c person2.salary ``` * * * ### 示例:相加兩個距離 ```c // Program to add two distances (feet-inch) #include <stdio.h> struct Distance { int feet; float inch; } dist1, dist2, sum; int main() { printf("1st distance\n"); printf("Enter feet: "); scanf("%d", &dist1.feet); printf("Enter inch: "); scanf("%f", &dist1.inch); printf("2nd distance\n"); printf("Enter feet: "); scanf("%d", &dist2.feet); printf("Enter inch: "); scanf("%f", &dist2.inch); // adding feet sum.feet = dist1.feet + dist2.feet; // adding inches sum.inch = dist1.inch + dist2.inch; // changing to feet if inch is greater than 12 while (sum.inch >= 12) { ++sum.feet; sum.inch = sum.inch - 12; } printf("Sum of distances = %d\'-%.1f\"", sum.feet, sum.inch); return 0; } ``` **輸出** ```c 1st distance Enter feet: 12 Enter inch: 7.9 2nd distance Enter feet: 2 Enter inch: 9.8 Sum of distances = 15'-5.7" ``` * * * ### 關鍵字`typedef` 我們使用`typedef`關鍵字為數據類型創建別名。 它通常與結構一起使用,以簡化聲明變量的語法。 **此代碼** ```c struct Distance{ int feet; float inch; }; int main() { struct Distance d1, d2; } ``` **等同于** ```c typedef struct Distance{ int feet; float inch; } distances; int main() { distances d1, d2; } ``` * * * ## 嵌套結構 您可以在 C 編程中的結構內創建結構。 例如, ```c struct complex { int imag; float real; }; struct number { struct complex comp; int integers; } num1, num2; ``` 假設您要將`num2`變量的`imag`設置為 11,這是如何實現的: ```c num2.comp.imag = 11; ``` * * * ## 為什么在 C 中使用結構? 假設您要存儲有關一個人的信息:他/她的姓名,公民編號和薪水。 您可以創建不同的變量`name`,`citNo`和`salary`來存儲此信息。 如果您需要存儲多個人的信息怎么辦? 現在,您需要為每個人的每個信息創建不同的變量:`name1`,`citNo1`,`salary1`,`name2`,`citNo2`,`salary2`等。 更好的方法是使用單個名稱`Person`結構收集所有相關信息,并將其用于每個人。 * * * ## 關于結構的更多 * [結構和指針](/c-programming/c-structures-pointers) * [將結構傳遞給函數](/c-programming/c-structure-function)
                  <ruby id="bdb3f"></ruby>

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

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看