C程式中引用自訂的C函數模組

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   os   sp   strong   on   

原文:C程式中引用自訂的C函數模組

  我們知道,剛開始接觸C語言編程,一般都是在一個.c或者.cpp(以下只說.c)的檔案中編寫代碼,其中一定會有一個入口函數,

也就是main()函數,你可以將程式碼全部寫在main函數裡,當然如果你想要程式更加模組化,也可以將一些操作寫在一個函數

裡,這些函數的聲明和定義也都是在main函數中。

  想想,隨著你的代碼量越來越大,實現的功能越來越多,在一個.c檔案中,你定義了許許多多的函數,這些函數實現著不同功能,

並且都是混雜在一起,你會不會感覺看著自己寫的代碼感覺自己的腦子也亂了?在這裡我找到了一個方法來將程式變得更加模組化,

更加有條理。總的做法分以下幾步:

1.將功能相近的自訂函數的聲明寫在一個.h檔案中(比如:Math.h)

2.將這些函數的具體實現寫在.c檔案中(比如:Math.c  注意要包含標頭檔  #include "Math.h" )

3.在你的主程式(支援.c檔案格式)中包含標頭檔(#include "Math.h"),在主程式就可以調用這些自訂函數了

 

  我們現在想要C函數模組,該模組提供數學計算的功能(例如加、減、乘、除等計算功能),自訂函數寫在Math.h中,函數的

實現寫在Math.c中,在主函數main.c中調用這些函數進行測試。

一、編寫Math.h檔案

 1 #ifndef _MATH_H 2 #define _MATH_H 3  4 #include <stdio.h> 5  6 /* 7   自訂函數的聲明 8 */ 9 //加10 int Add(int a,in b);11 //減12 int Sub(int a,int b);13 //乘14 int Multi(int a,int b);15 //除16 double Dev(int a,int b);17 // ... 18 #endif

 

二、編寫Math.c檔案

 1 #include <stdio.h> 2 #include "Math.h"   //必須添加!!! 3  4 int Add(int a,int b) 5 { 6    return a+b; 7 } 8  9 int Sub(int a,int b)10 {11    return a-b;12 }13 14 int Multi(int a,int b)15 {16    return a*b;17 }18 19 double Dev(int a,int b)20 {21    if(b==0)22    {23        printf("\n除數不能為0.");24        return 0.0;25    }26    return (double)a/b;27 }

 

三、測試:main.c(支援.c檔案格式)調用模組中的函數

 1 #include <stdio.h> 2 #include <conio.h> 3 #include "Math.h"  //添加自訂函數的標頭檔 4  5 void main() 6 { 7   int a=15,b=10; 8  9   //調用自訂函數10   printf("a+b=%d\n", Add(a,b) );   11   printf("a-b=%d\n", Sub(a,b) );12   printf("a*b=%d\n", Multi(a,b) );13   printf("a/b=%f\n", Dev(a,b) );14 15   getch();16   return;17 }

注意:在VC6.0中添加主程式碼時需要添加.c格式的(main.c),添加.cpp格式的(main.cpp)會報錯,

         具體原因還不知道,希望知道的可以告知!

程式啟動並執行結果:

 

附:以上的內容為本人從《C語言科學與藝術》一書中的學習的總結,供大家學習和分享。

 

C程式中引用自訂的C函數模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.