Latest web development tutorials
×

C หลักสูตร

C กวดวิชาภาษา C แนะนำโดยย่อ C การตั้งค่าสภาพแวดล้อม C โครงสร้างหลักสูตร C ไวยากรณ์พื้นฐาน C ชนิดข้อมูล C ตัวแปร C คงที่ C ประเภทการจัดเก็บ C ผู้ประกอบการ C ผู้พิพากษา C การไหลเวียน C ฟังก์ชัน C การกำหนดขอบเขตกฎระเบียบ C แถว C ชี้ C เชือก C โครงสร้าง C สหภาพ C ฟิลด์บิต C typedef C อินพุตและเอาต์พุต C การอ่านออกเขียนเอกสาร C preprocessor C ส่วนหัว C ปลดเปลื้อง C จัดการข้อผิดพลาด C recursion C พารามิเตอร์ตัวแปร C จัดการหน่วยความจำ C บรรทัดคำสั่ง C คลาสสิก 100 ราย

C ห้องสมุดมาตรฐาน

C ห้องสมุดมาตรฐาน - คู่มืออ้างอิง C ห้องสมุดมาตรฐาน - <assert.h> C ห้องสมุดมาตรฐาน - <ctype.h> C ห้องสมุดมาตรฐาน - <errno.h> C ห้องสมุดมาตรฐาน - <float.h> C ห้องสมุดมาตรฐาน - <limits.h> C ห้องสมุดมาตรฐาน - <locale.h> C ห้องสมุดมาตรฐาน - <math.h> C ห้องสมุดมาตรฐาน - <setjmp.h> C ห้องสมุดมาตรฐาน - <signal.h> C ห้องสมุดมาตรฐาน - <stdarg.h> C ห้องสมุดมาตรฐาน - <stddef.h> C ห้องสมุดมาตรฐาน - <stdio.h> C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <string.h> C ห้องสมุดมาตรฐาน - <time.h>

C ไฟล์ส่วนหัว

ส่วนหัวของแฟ้มเป็น.h นามสกุลไฟล์รวมทั้งการประกาศฟังก์ชัน C และนิยามแมโครอ้างใช้ร่วมกันโดยแฟ้มจากหลายแหล่งมีสองประเภทของส่วนหัว: การเขียนโปรแกรมเพื่อเขียนไฟล์ส่วนหัวและคอมไพเลอร์มาพร้อมกับไฟล์ส่วนหัว

ในโปรแกรมที่คุณต้องการใช้ไฟล์ส่วนหัวใช้ C# include preprocessor สั่งการอ้างถึงมันเราได้เห็นแล้วส่วนหัวของแฟ้มstdio.h ซึ่งเป็นไฟล์ส่วนหัวที่มาพร้อมกับคอมไพเลอร์

ไฟล์ส่วนหัวอ้างเทียบเท่ากับการคัดลอกเนื้อหาของไฟล์ส่วนหัว แต่เราจะไม่คัดลอกเนื้อหาของไฟล์ส่วนหัวโดยตรงในแฟ้มแหล่งที่มาเพราะการทำเช่นนั้นมีแนวโน้มที่จะเกิดข้อผิดพลาดโดยเฉพาะอย่างยิ่งเมื่อโปรแกรมประกอบด้วยส่วนใหญ่ของไฟล์ที่มา

การปฏิบัติที่ง่ายใน C หรือ C ++ โปรแกรมแนะนำว่าทุกคนคงแมโครตัวแปรและฟังก์ชั่นระดับโลกต้นแบบระบบการเขียนในไฟล์ส่วนหัวเมื่อมีความจำเป็นในเวลาใด ๆ หมายถึงส่วนหัวเหล่านี้

ไฟล์ส่วนหัวไวยากรณ์อ้างอิง

การใช้คำสั่ง#include preprocessing สามารถอ้างอิงของผู้ใช้และระบบไฟล์ส่วนหัวมันมีสองต่อไปนี้รูปแบบ:

#include <file>

รูปแบบนี้จะใช้ในการอ้างอิงไฟล์ส่วนหัวระบบ จะค้นหาไฟล์ไฟล์ชื่ออยู่ในรายชื่อมาตรฐานของไดเรกทอรีระบบ เมื่อรวบรวมรหัสที่มาคุณสามารถ -i ตัวเลือกก่อนไดเรกทอรีก่อนรายการ

#include "file"

รูปแบบนี้จะใช้ในการอ้างอิงไฟล์ส่วนหัวของผู้ใช้ จะค้นหาไฟล์ชื่อแฟ้มในไดเรกทอรีที่มีไฟล์ปัจจุบัน เมื่อรวบรวมรหัสที่มาคุณสามารถ -i ตัวเลือกก่อนไดเรกทอรีก่อนรายการ

การกระทำอ้างอิงแฟ้มส่วนหัว

สั่ง#include สั่ง preprocessor C เรียกดูไฟล์ที่ระบุเป็น inputการส่งออกของ preprocessor มีการส่งออกที่ได้รับการสร้างไฟล์ที่ส่งออกข้อความอ้างอิงสร้างและการสอน#include เอาท์พุทตัวอย่างเช่นถ้าคุณมี header.h ไฟล์ส่วนหัวดังต่อไปนี้:

char *test (void);

และไฟล์ส่วนหัวโดยใช้program.c โปรแกรมหลักดังต่อไปนี้:

int x;
#include "header.h"

int main (void)
{
   puts (test ());
}

คอมไพเลอร์จะเห็นกระแสโทเค็นต่อไปนี้:

int x;
char *test (void);

int main (void)
{
   puts (test ());
}

อ้างอิงเท่านั้นไฟล์ส่วนหัวอย่างใดอย่างหนึ่ง

หากไฟล์ส่วนหัวมีการอ้างถึงสองครั้งคอมไพเลอร์จะดำเนินการเนื้อหาของทั้งสองไฟล์ส่วนหัวซึ่งจะสร้างข้อผิดพลาด เพื่อป้องกันการนี้มาตรฐานการปฏิบัติคือการใส่เนื้อหาทั้งหมดของไฟล์ในงบรวบรวมเงื่อนไขดังต่อไปนี้:

#ifndef HEADER_FILE
#define HEADER_FILE

the entire header file file

#endif

โครงสร้างนี้จะเรียกกันทั่วไปว่าเสื้อคลุมคำสั่ง #ifdefเมื่ออ้างอิงไฟล์ส่วนหัวอีกครั้งในสภาพที่เป็นเท็จเพราะ HEADER_FILE กำหนด ในกรณีนี้ preprocessor จะข้ามเนื้อหาทั้งหมดของไฟล์คอมไพเลอร์จะไม่สนใจมัน

อ้างเงื่อนไข

บางครั้งคุณต้องเลือกการอ้างอิงไปยังโปรแกรมจากหลายไฟล์ส่วนหัวที่แตกต่างกัน ตัวอย่างเช่นคุณจะต้องระบุพารามิเตอร์การตั้งค่าบนระบบปฏิบัติการที่แตกต่างกัน คุณสามารถใช้ชุดของเงื่อนไขเพื่อให้บรรลุนี้ดังต่อไปนี้:

#if SYSTEM_1
   # include "system_1.h"
#elif SYSTEM_2
   # include "system_2.h"
#elif SYSTEM_3
   ...
#endif

แต่ถ้าส่วนหัวยื่นเวลามากขึ้นที่จะทำเช่นนั้นไม่เหมาะสมมากใช้มาโครชื่อ preprocessor เพื่อกำหนดส่วนหัวนี้เรียกว่าการอ้างอิงเงื่อนไขมันไม่ได้นำมาใช้เป็นชื่อของไฟล์ส่วนหัว#include พารามิเตอร์โดยตรงที่คุณจะต้องใช้แมโครเพื่อแทนที่ชื่อ:

 #define SYSTEM_H "system_1.h"
 ...
 #include SYSTEM_H

SYSTEM_H ขยาย preprocessor ดู system_1.h เป็นเขียนเป็น#includeSYSTEM_H Makefile อาจถูกกำหนดโดยตัวเลือก -D สำหรับคุณ