فایلها
داده های مورد نیاز برنامه هایی که تاکنون نوشته شده اند در متغیرهای معمولی
آرایه ها و ساختمان ها ذخیره و مورد پردازش قرار گرفته اند . متغیرهای معمولی
آرایه ها و ساختمان ها ، همگی در حافظه RAM قرار دارند . لذا پس از قطع جریان
برق ( و یا خاموش شدن کامپیوتر ) و یا خروج از برنامه ، داده هایی که در آنها
ذخیره شده اند از بین می روند و برای استفاده مجدد از آنها ، باید مجددا" وارد
گردند که قطعا"این کار مقرون به صرفه نیست .زیرا نه تنها مستلزم صرف وقت زیادی
است بلکه حوصله انجام کار را نیز از برنامه نویس سلب می نماید . برای رفع این
مشکل نوعی ساختمان داده دیگر به نام فایل مورد استفاده قرار می گیرد . این نوع
ساختمان داده بر روی حافظه جانبی مثل دیسک ، نوار و غیره تشکیل می گردند . چون
اطلاعات موجود در روی حافظه جانبی با قطع جریان برق ، قطع اجرای برنامه و یا
دلایلی از این قبیل از بین نمیروند، به دفعات زیادی مورد استفاده قرار میگیرند.
هر فایل شامل مجموعه ای از داده های مرتبط به هم است . مانند داده های مربوط
به کلیه دانشجویان یک دانشگاه ، داده های مربوط به هر یک از اجزای فایل ، یک
رکورد نام دارد . به عنوان مثال ، در یک دانشگاه داده های مربوط به هر دانشجو
تشکیل یک رکورد را می دهند . لذا می توان گفت که هر فایل ، مجموعه ای از چند
رکورد است . اگر باز هم دقیق تر به فایل دانشجویان دانشگاه پرداخته شود، مشاهده
می گردد که هر دانشجو تشکیل یک رکورد را می دهند . لذا می توان گفت که هر فایل
مجموعه ای از چند رکورد است . اگر باز هم دقیق تر به فایل دانشجویان دانشگاه
پرداخته شود ، مشاهده می گردد که هر دانشجو ممکن است چند قلم داده داشته باشد.
مثل نام دانشجو ، تعداد واحدهایی که گذرانده ، نمره هر درس و ... . به هر یک از
اجزای یک رکورد ، فیلد گفته می شود ، لذا می توان گفت که هر رکورد مجموعه ای از
چند فیلد است .
در زبان C فایل داده ، می تواند هر دستگاهی مثل : صفحه نمایش ، صفحه کلید
چاپگر ، ترمینال دیسک ، نوار و غیره باشد .
داده ها ممکن است به 4 روش در فایل ذخیره شده و سپس مورد بازیابی قرار گیرند: 1
داده ها، کاراکتر به کاراکتر در فایل نوشته شده و سپس کاراکتر به کاراکتر
از فایل خوانده شوند . 2
داده ها بصورت رشته ای از کاراکترها، در فایل نوشته شده وسپس بصورت رشته ای
از کاراکترها مورد دسترسی قرار گیرند . 3
داده ها درحین نوشتن بر روی فایل ، با فرمت خاصی نوشته شده و سپس با همان
فرمت خوانده شوند ( مثل توابع ()printf و ()scanf در ورودی خروجی معمولی ) . 4
داده ها به شکل ساختمان ( رکورد ) در روی فایل نوشته شده و سپس به صورت
ساختمان از فایل خوانده شوند . صی در زبان C منظور شده اند .
