Latest web development tutorials

file header C

File header adalahH ekstensi file,termasuk deklarasi fungsi C dan definisi makro, dikutip bersama oleh beberapa file sumber. Ada dua jenis header: programmer untuk menulis file header dan compiler dilengkapi dengan file header.

Dalam program yang ingin menggunakan file header, menggunakan C preprocessor direktif# include untuk merujuk ke sana.Kita sudah melihat file headerstdio.h, yang merupakan file header yang datang dengan compiler.

File kutipan header setara dengan menyalin isi dari file header, tapi kami tidak akan menyalin isi dari file header langsung di file sumber, karena hal itu adalah rawan kesalahan, terutama ketika program ini terdiri dari sejumlah file sumber.

Praktek sederhana dalam C atau program C ++, direkomendasikan bahwa semua konstanta, macro, variabel global dan prototipe fungsi sistem ditulis dalam file header bila diperlukan sewaktu-waktu merujuk pada header ini.

file header sintaks referensi

Menggunakan preprocessing arahan#include dapat referensi pengguna dan sundulan sistem file.Ini memiliki dua bentuk berikut:

#include <file>

Formulir ini digunakan untuk referensi sistem file header. Ia mencari file bernama file dalam daftar standar direktori sistem. Ketika kompilasi source code, Anda dapat -I opsi sebelum pra direktori daftar.

#include "file"

Formulir ini digunakan untuk referensi file header pengguna. Ia mencari file bernama file dalam direktori yang berisi file saat ini. Ketika kompilasi source code, Anda dapat -I opsi sebelum pra direktori daftar.

tindakan referensial file header

# include direktif menginstruksikan C preprocessor isi file yang ditetapkan sebagai masukan.Output dari preprocessor berisi output yang telah dihasilkan, teks direferensikan file output yang dihasilkan dan instruksi keluaran# include.Misalnya, jika Anda memiliki header.h file header, sebagai berikut:

char *test (void);

Dan file header menggunakanprogram.cprogramutama,sebagai berikut:

int x;
#include "header.h"

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

Compiler akan melihat aliran token berikut:

int x;
char *test (void);

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

Hanya file referensi satu header

Jika file header direferensikan dua kali, compiler akan memproses isi dari dua file header, yang akan menghasilkan kesalahan. Untuk mencegah hal ini, praktek standar untuk menempatkan seluruh isi file pada laporan kompilasi bersyarat, sebagai berikut:

#ifndef HEADER_FILE
#define HEADER_FILE

the entire header file file

#endif

Struktur ini biasa disebut wrapper#ifndef.Ketika referensi file header lagi, kondisi salah, karena HEADER_FILE didefinisikan. Dalam hal ini, preprocessor akan melewatkan seluruh isi file, kompiler akan mengabaikannya.

quote bersyarat

Kadang-kadang Anda perlu memilih referensi ke program dari beberapa file header yang berbeda. Misalnya, Anda perlu menentukan parameter konfigurasi pada sistem operasi yang berbeda. Anda dapat menggunakan serangkaian kondisi untuk mencapai hal ini, sebagai berikut:

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

Namun, jika file header lebih banyak waktu untuk melakukannya sangat tidak pantas, gunakan macro nama preprocessor untuk mendefinisikan header. Ini disebutreferensi bersyarat.Hal ini tidak digunakan sebagai nama file header# include parameter langsung, Anda hanya perlu menggunakan makro untuk mengganti nama:

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

SYSTEM_H mengembang, preprocessor terlihat system_1.h, sebagai awalnya ditulis sebagai# include.SYSTEM_H Makefile dapat didefinisikan oleh pilihan -D untuk Anda.