Lệnh #include <filename> và #include “filename” là tương đương nhau, để include header file của thư viện ngôn ngữ C hoặc header file do lập trình viên tự định nghĩa.
Sự khác nhau giữa #include <filename> and #include “filename” nằm ở khâu tìm kiếm file header của tiền xử lý trước quá trình biên dịch.
- #include <filename>: tiền xử lý (pre-processor) sẽ chỉ tìm kiếm file header (.h) trong thư mục chứa file header của thư viện ngôn ngữ C (thường là thư mục trong bộ cài IDE).
- #include “filename”: Trước tiên, tiền xử lý (pre-processor) tìm kiếm file header(.h) trong thư mục đặt project C/C++. Nếu không tìm thấy, tiền xử lý tìm kiếm file header (.h) trong thư mục chứa file header của thư viện ngôn ngữ C (thường là thư mục trong bộ cài IDE).
Tóm lại,
- Khi cần sử dụng thư viện file header (.h), chúng ta nên sử dụng #include <filename>. Tất nhiên, sử dụng #include “filename” không sai, nhưng tiền xử lí sẽ mất thời gian tìm kiếm trong thư mục project trước khi tìm kiếm trong thư mục header của IDE.
- Khi cần gọi file header (.h) tự định nghĩa, chúng ta nên sử dụng #include “filename”. Chú ý: nếu file header (.h) được đặt ở đường dẫn khác thư mục project, chúng ta cần phải chỉ định đường dẫn tương đối cho file header: #include “..\…\filename.h”
Ví dụ: Khai báo file header của thư viện và file header tự định nghĩa
File sum.h
#ifndef _SUM_H_ #define _SUM_H_ float sum(float, float); #endif
File sum.c
#include <stdio.h> #include <conio.h> #include "sum.h" void main( void ) { float a = 4.5, b = 6.7; printf("sum(%f, %f) = %f", a, b, sum(a, b)); getch(); } float sum(float a, float b) { return (a + b); }
Kết quả:
- #include <stdio.h> là thư viện cho hàm printf()
- #include <conio.h> là thư viện cho hàm getch()
- #include “sum.h” được định nghĩa khai bao hàm sum()
giải thích tất tần về if, while, do while, for