Rumah pembangunan bahagian belakang Tutorial C#.Net c语言中include用法是什么?

c语言中include用法是什么?

Jun 15, 2020 pm 03:41 PM
include

c语言中include用法是什么?

c语言中include用法是什么?

1、#include 命令介绍

#include 命令是预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;

可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

2、插入头文件的内容

#include 命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

#include <文件名>
#include "文件名"
Salin selepas log masuk

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include <math.h>               // 一些数学函数的原型,以及相关的类型和宏
Salin selepas log masuk

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。采用 #include 命令所插入的文件,通常文件扩展名是 .h,文件包括函数原型、宏定义和类型定义。

只要使用 #include 命令,这些定义就可被任何源文件使用。如下例所示:

#include "myproject.h" // 用在当前项目中的函数原型、类型定义和宏

你可以在 #include 命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的 #include 命令。

例 1 展示了这样的 #include 命令。

【例1】在 #include 命令中的宏

#ifdef        _DEBUG_
  #define       MY_HEADER       "myProject_dbg.h"
#else
  #define       MY_HEADER       "myProject.h"
#endif
#include        MY_HEADER
Salin selepas log masuk

当上述程序代码进入预处理时,如果 DEBUG 宏已被定义,那么预处理器会插入 myProject_dbg.h 的内容;如果还没定义,则插入 myProject.h 的内容。

3、预处理器如何找到头文件

由给定的 C 语言实现版本决定 #include 命令所指定文件的搜索路径。同时,也由实现版本决定文件名是否区分大小写。对于命令中使用尖括号指定的文件(),预处理器通常会在特定的系统路径下搜索,例如,在 Unix 系统中,会搜索路径 /usr/local/include 与 /usr/include。

对于命令中用双引号指定的文件("文件名"),预处理器通常首先在当前目录下寻找,也就是包含该程序其他源文件的目录。如果在当前目录下没有找到,那么预处理器也会搜索系统的 include 路径。文件名中可以包含路径。但如果文件名中包含了路径,则预处理器只会到该目录下寻找。

你也可以通过使用编译器命令行选项,或在环境变量(该变量通常称为 INCLUDE)中加入搜索路径,为 #include 命令指定自己的搜索路径。具体的做法请参考采用的编译器的说明文档。

4、嵌套的 #include 命令

#include 命令可以嵌套使用;也就是说,通过 #include 命令插入的源文件本身也可以包含另一个 #include 命令。预处理器最多允许 15 层的嵌套包含。

因为头文件有时候会包含另一个头文件,很容易发生相同的一个文件被多次包含的情况。例如,假设文件 myProject.h 中包含如下代码:

#include <stdio.h>
Salin selepas log masuk

如果源文件包含下面的 #include 命令,就会两次包含 stdio.h,一次是直接包含,另一次是间接包含:

#include <stdio.h>
#include "myProject.h"
Salin selepas log masuk

然而,可以采用条件式编译的命令,方便地避免多次包含相同的文件。例 2 使用了这个技巧。

【例2】避免多次包含

#ifndef INCFILE_H_
#define INCFILE_H_
/* ...实际的头文件incfile.h的内容写在这里... */
#endif  /* INCFILE_H_ */
Salin selepas log masuk

第一次出现包含 incfile.h 的命令时,INCFILE_H_ 宏是没有定义的。预处理器因此插入 #ifndef 和 #endif 之间的内容,这段内容包含了对 INCFILE_H_ 宏的定义。嵌入 incfile.h 文件之后,#ifndef 条件就会为 false,预处理器会忽略 #ifndef 和 #endif 之间的内容。

推荐教程:《C语言

Atas ialah kandungan terperinci c语言中include用法是什么?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan array char dalam bahasa c Cara menggunakan array char dalam bahasa c Apr 03, 2025 pm 03:24 PM

Arus char menyimpan urutan watak dalam bahasa C dan diisytiharkan sebagai array_name char [saiz]. Unsur akses diluluskan melalui pengendali subskrip, dan elemen berakhir dengan terminator null '\ 0', yang mewakili titik akhir rentetan. Bahasa C menyediakan pelbagai fungsi manipulasi rentetan, seperti strlen (), strcpy (), strcat () dan strcmp ().

Apakah peranan char dalam c strings Apakah peranan char dalam c strings Apr 03, 2025 pm 03:15 PM

Dalam C, jenis char digunakan dalam rentetan: 1. Simpan satu watak; 2. Gunakan array untuk mewakili rentetan dan berakhir dengan terminator null; 3. Beroperasi melalui fungsi operasi rentetan; 4. Baca atau output rentetan dari papan kekunci.

Cara Mengendalikan Watak Khas dalam Bahasa C Cara Mengendalikan Watak Khas dalam Bahasa C Apr 03, 2025 pm 03:18 PM

Dalam bahasa C, watak -watak khas diproses melalui urutan melarikan diri, seperti: \ n mewakili rehat garis. \ t bermaksud watak tab. Gunakan urutan melarikan diri atau pemalar watak untuk mewakili watak khas, seperti char c = '\ n'. Perhatikan bahawa backslash perlu melarikan diri dua kali. Platform dan penyusun yang berbeza mungkin mempunyai urutan melarikan diri yang berbeza, sila rujuk dokumentasi.

Perbezaan antara multithreading dan asynchronous C# Perbezaan antara multithreading dan asynchronous C# Apr 03, 2025 pm 02:57 PM

Perbezaan antara multithreading dan asynchronous adalah bahawa multithreading melaksanakan pelbagai benang pada masa yang sama, sementara secara tidak sengaja melakukan operasi tanpa menyekat benang semasa. Multithreading digunakan untuk tugas-tugas yang berintensifkan, sementara asynchronously digunakan untuk interaksi pengguna. Kelebihan multi-threading adalah untuk meningkatkan prestasi pengkomputeran, sementara kelebihan asynchronous adalah untuk tidak menghalang benang UI. Memilih multithreading atau asynchronous bergantung kepada sifat tugas: tugas-tugas intensif pengiraan menggunakan multithreading, tugas yang berinteraksi dengan sumber luaran dan perlu menyimpan respons UI menggunakan asynchronous.

Cara menggunakan pelbagai simbol dalam bahasa C Cara menggunakan pelbagai simbol dalam bahasa C Apr 03, 2025 pm 04:48 PM

Kaedah penggunaan simbol dalam bahasa C meliputi aritmetik, tugasan, syarat, logik, pengendali bit, dan lain-lain. Operator aritmetik digunakan untuk operasi matematik asas, pengendali tugasan digunakan untuk penugasan dan penambahan, penolakan, pendaraban dan tugasan pembahagian, pengendali keadaan digunakan untuk operasi yang digunakan untuk operasi yang digunakan untuk Operasi Bit untuk Penunjuk null, penanda akhir fail, dan nilai bukan angka.

Cara menukar char dalam bahasa c Cara menukar char dalam bahasa c Apr 03, 2025 pm 03:21 PM

Dalam bahasa C, penukaran jenis char boleh ditukar secara langsung kepada jenis lain dengan: Casting: Menggunakan aksara pemutus. Penukaran Jenis Automatik: Apabila satu jenis data dapat menampung jenis nilai lain, pengkompil secara automatik menukarkannya.

Apakah fungsi jumlah bahasa C? Apakah fungsi jumlah bahasa C? Apr 03, 2025 pm 02:21 PM

Tiada fungsi jumlah terbina dalam dalam bahasa C, jadi ia perlu ditulis sendiri. Jumlah boleh dicapai dengan melintasi unsur -unsur array dan terkumpul: Versi gelung: SUM dikira menggunakan panjang gelung dan panjang. Versi Pointer: Gunakan petunjuk untuk menunjuk kepada unsur-unsur array, dan penjumlahan yang cekap dicapai melalui penunjuk diri sendiri. Secara dinamik memperuntukkan versi Array: Perlawanan secara dinamik dan uruskan memori sendiri, memastikan memori yang diperuntukkan dibebaskan untuk mengelakkan kebocoran ingatan.

Perbezaan antara char dan wchar_t dalam bahasa c Perbezaan antara char dan wchar_t dalam bahasa c Apr 03, 2025 pm 03:09 PM

Dalam bahasa C, perbezaan utama antara char dan wchar_t adalah pengekodan aksara: char menggunakan ASCII atau memanjangkan ASCII, WCHAR_T menggunakan unicode; Char mengambil 1-2 bait, wchar_t mengambil 2-4 bait; Char sesuai untuk teks bahasa Inggeris, WCHAR_T sesuai untuk teks berbilang bahasa; CHAR disokong secara meluas, WCHAR_T bergantung kepada sama ada penyusun dan sistem operasi menyokong Unicode; Char adalah terhad dalam pelbagai watak, WCHAR_T mempunyai pelbagai watak yang lebih besar, dan fungsi khas digunakan untuk operasi aritmetik.

See all articles