<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國際加速解決方案。 廣告
                #### 包含文件指令 #### 包含文件指令#include,可用來包含一個文件 #include <math.h> 尖括號中是所包含的文件,math.h是數學函數庫的頭文件,將該文件包含進來后,就可以使用一些數學函數了 #include <stdio.h> #include <math.h> int main() { double x=pow(2,3); printf("2的3次方是%.0f\n",x); return 0; } #### 包文件的方式 #### - 一般來說,有2種方式 - #include <stdio.h> 尖括號將文件名stdio.h括起來,將通知預處理器在編譯器自帶的頭文件中搜索文件名stido.h - #include "stdio.h" 雙引號將文件名stdio.h括起來,將通知預處理器在當前程序的文件夾下搜索該文件,如果搜索不到,再去編譯器自帶的頭文件中進行搜索 #### 頭文件 #### **#include指令可包含任何文件,但通常包含的是頭文件,頭文件是以.h為后綴的一般是函數原型和宏的定義,有時也可以放置結構體類型的聲明和靜態全局變量的定義** 以下為book.h中的內容,代碼如下: #include <string.h> #include <stdio.h> #define P printf #define PA printf("\n%-12s%-12s\n\n","êé??","????") #define PB "%-12s%-12.2f\n" static int n; struct Book { char name[10]; double price; }; void Set(struct Book my[],int n); void Show(struct Book my[]); **book.h這個頭文件中有宏的定義(第3-5行)、函數原型(第12-13行)、結構體類型的聲明(第7-11行)、靜態全局變量的定義(第6行),以及其他頭文件的包含(第1-2行)** **注意:頭文件中不可以定義全局變量和函數,但是可以定義靜態全局變量。頭文件只能聲明全局變量,不可以定義它,一般在頭文件中用extern來聲明全局變量,而在源文件中定義它。如果在頭文件中定義全局變量,則這個頭文件被多個源文件引用的話,會造成全局變量被重復定義的鏈接錯誤,但是如果定義的是靜態全局變量,則不會出現這個問題** 頭文件是一種包含了函數聲明和數據類型聲明的載體文件,主要用于保存程序的聲明,而定義文件則用于保存程序的實現,定義文件以.c為后綴,book.h所對應的定義文件book.c中內容如以下代碼所示: #include "book.h" void Set(struct Book my[],int num) { int i; char ch; for (i=0;i<num;i++) { printf("請輸入書名:"); scanf("%s",&my[i].name); printf("請輸入價格:"); scanf("%lf",&my[i].price); getchar(); n++; printf("是否繼續輸入?(Y/N):"); scanf("%c",&ch); getchar(); if (ch=='n'||ch=='N') break; } } void Show(struct Book my[]) { int i; PA; for (i=0;i<n;i++) { P(PB,my[i].name,my[i].price); } }
                  <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>

                              哎呀哎呀视频在线观看