ส่วนลิงก์ (Link Section) และส่วนนิยาม (Definition Section) เรียกว่าคำสั่งก่อนการประมวลผล (Preprocessor Directives) ซึ่งให้คำสั่งแก่คอมไพเลอร์ให้ลิงก์ฟังก์ชันจากไลบรารีระบบ
ตัวอย่างเช่น ส่วนนิยามจะนิยามค่าคงที่สัญลักษณ์ (Symbolic Constants) ทั้งหมด
#include <stdio.h>
ตัวอย่าง:
#define PI 3.1415
คำสั่งก่อนการประมวลผลต้องขึ้นต้นด้วยสัญลักษณ์ # เสมอ
หากไม่มีส่วนลิงก์และนิยาม โปรแกรมอาจไม่สามารถทำงานได้ในบางคอมไพเลอร์ เพราะช่วยให้คอมไพเลอร์ลิงก์ฟังก์ชันที่นิยามไว้ในไลบรารีระบบได้
ฟังก์ชันที่นิยามไว้ล่วงหน้า (Predefined Functions)
ฟังก์ชันที่นิยามไว้ล่วงหน้าใน stdio.h มีดังนี้:
| ฟังก์ชัน | คำอธิบาย |
|---|---|
| printf() | พิมพ์ตัวอักษร สตริง จำนวนจริง จำนวนเต็ม โอคทัล ไปที่หน้าจอ |
| scanf() | อ่านตัวอักษร สตริง ข้อมูลตัวเลข จากคีย์บอร์ด |
| getc() | อ่านตัวอักษรจากไฟล์ |
| gets() | อ่านบรรทัดจากคีย์บอร์ด |
| getchar() | อ่านตัวอักษรจากคีย์บอร์ด |
| puts() | เขียนบรรทัดไปที่หน้าจอผลลัพธ์ |
| putchar() | เขียนตัวอักษรไปที่หน้าจอ |
| clearerr() | ล้างตัวบ่งชี้ข้อผิดพลาด |
| fopen() | ฟังก์ชันจัดการไฟล์ทั้งหมดนิยามอยู่ในไฟล์ส่วนหัว stdio.h |
| fclose() | ปิดไฟล์ที่เปิดอยู่ |
| getw() | อ่านจำนวนเต็มจากไฟล์ |
| putw() | เขียนจำนวนเต็มไปที่ไฟล์ |
| fgetc() | อ่านตัวอักษรจากไฟล์ |
| putc() | เขียนตัวอักษรไปที่ไฟล์ |
| fputc() | เขียนตัวอักษรไปที่ไฟล์ |
| fgets() | อ่านสตริงจากไฟล์ |
| fputs() | เขียนสตริงไปที่ไฟล์ |
| feof() | ตรวจสอบปลายไฟล์ |
| fgetchar | อ่านตัวอักษรจากคีย์บอร์ด |
| fgetc() | อ่านตัวอักษรจากไฟล์ |
| fprintf() | เขียนข้อมูลแบบจัดรูปแบบไปที่ไฟล์ |
| fscanf() | อ่านข้อมูลแบบจัดรูปแบบจากไฟล์ |
| fputchar | เขียนตัวอักษรจากคีย์บอร์ด |
| putc() | เขียนตัวอักษรไปที่ไฟล์ |
| sprint() | เขียนเอาต์พุตแบบจัดรูปแบบไปที่สตริง |
| sscanf() | อ่านอินพุตแบบจัดรูปแบบจากสตริง |
| remove() | ลบไฟล์ |
| fflush() | ล้างบัฟเฟอร์ไฟล์ |
ตัวอย่าง
โปรแกรม C ต่อไปนี้คำนวณ เส้นรอบวงของวงกลม:
#include <stdio.h> // ส่วนลิงก์
#define PI 3.1415 // ส่วนนิยาม
int main() {
float c, r;
printf("Enter radius of circle r=");
scanf("%f", &r);
c = 2 * PI * r;
printf("Circumference of circle c=%f", c);
return 0;
}ผลลัพธ์
ผลลัพธ์ที่ได้คือ:
Enter radius of circle r=6 Circumference of circle c=37.698002