ضميمه كردن فايل ها (file inclusion)
دسته بندی : / لینک ثابت
در زبان C مي توان در حين ترجمه (compile) برنامه ، يك يا چند فايل را به آن
ضميمه كرده و مورد پردازش قرار داد. به فايلهايي كه بدين طريق به برنامه ضميمه
ميشوند، header file گفته ميشود. ضميمه كردن فايل ها، توسط دستور پيش پردازنده #include
انجام مي شود . اين دستور بصورت هاي زير مورد استفاده قرار مي گيرد : "
اسم فايل #include "
<اسم فايل >#include
فايلهاي header مي توانند به دو دسته تقسيم شوند :
الف ) فايلهايي هستند كه همراه كامپايلر C وجود دارند و انشعاب همه آنها h.
است .
ب ) فايلهايي هستند كه توسط استفاده كننده نوشته مي شوند .
از روش اول استفاده دستور # include براي ضميمه فايلهايي استفاده مي شود كه
توسط استفاده كننده نوشته شده اند و از روش دوم ، براي ضميمه فايل هايي به كار
گرفته مي شود كه همراه كامپايلر C وجود داشته و معمولا" در فهرستي بنام include
قرار دارند .
فايلهاي header از اهميت ويژه اي برخوردارند زيرا : 1
بسياري از توابع مثل ()getchar و ()putchar در فايل هاي header مربوط به
سيستم ، بصورت ماكرو تعريف شده اند . 2
با فايل هاي header معمولي ( مربوط به استفاده كننده ) علاوه بر تعريف
ماكروها ، مي توان از بسياري از تعاريف تكراري جلوگيري كرد .
مثال 1: دستور زير ، موجب ضميمه شدن فايل stdio.h به برنامه مي گردد . # include
فرض كنيد كار ما طوري است كه همواره برنامه هايي مينويسيم كه نياز به محاسبه
مساحت هاي اشكال مختلفي مثل دايره ، بيضي و غيره دارد . بهتر است براي سهولت
كار ، مساحت كليه اشكال را بصورت ماكرو تعريف كرده و در يك فايل header قرار
دهيم . سپس در ابتداي برنامه مورد نظر، آن را توسط دستور # include معرفي كنيم
تا به برنامه ضميمه شود . نام فايل header را كه براي اين منظور نوشته مي شود h
.ar انتخاب كرده ، محتويات آن را مي توان بصورت زير نوشت : #define PI #.14159
#define AREA_CITCLE(radius )\
( PI*radius*radius)
#define AREA_SQUARE(length/width )\
( length*width)
#define AREA_TRIANGLE(base/height )\
( base*height/2)
#define AREA_ELLIPS(radius1/radius2 )\
( PI*radius1*radius2)
#define AREA_TRAPEZOID(heigth/side1/ \
side2( )heigth*(side1+side2)/2)
پس از تشكيل فايل ar.h مي توان با ضميمه نمودن اين فايل به هر برنامه اي كه
نياز به محاسبه مساحت اشكال هندسي ذكر شده در اين فايل را دارد ، از ماكروهاي
تعريف شده در اين فايل استفاده كرد .
مثال 2: برنامه اي كه با استفاده از فايل ar.h مساحت مثلثي را محاسبه ميكند. #include
#include
main)(
{
int bas/height/s;
float s;
base=10;
height=15;
s=AREA-TRIANGLE(base/hight);
printf("%f"/s);
}
نمونه اي از خروجي برنامه مثال 2 : the area of triangle