Xin chào và chào mừng.
Trong bài giảng này, tôi muốn nói về câu lệnh bao gồm.
Và một lần nữa, từ lần đầu tiên của chúng tôi thử thách
lần đầu tiên tiếp xúc với mã c và chương trình c, bạn nên có nhận thấy điều này bao gồm tuyên bố.
Nó ở dòng thứ tám ở đây trong này và đây là chương
trình c cơ bản của dự án thử thách ví dụ của chúng tôi.
Bạn thấy nó bao gồm.
Và bây giờ vì chúng tôi đã học được về bộ tiền xử lý, chúng
tôi biết rằng đó là chỉ thị tiền xử lý bởi vì chúng ta có ký hiệu bảng Anh đó.
Bất cứ điều gì bắt đầu với ký hiệu pound trước
bất kỳ khoảng trắng nào khác là lệnh tiền xử lý, một chỉ thị tiền xử lý.
Và vì vậy chúng tôi biết dòng tám bao gồm từ khóa đặc biệt với ký hiệu bảng
Anh là một chỉ thị được xử lý trước.
Bây giờ tôi muốn giải thích cho bạn chính xác thì cái này đang làm gì
Điều đó có nghĩa là gì?
Một lần nữa, đây là một khái niệm cơ bản trong c mà chúng ta cần phải nói đến
rất sớm bởi vì mọi chương trình c đều có nó.
Nó rất giống nếu bạn quen thuộc với java với câu lệnh nhập.
Nhưng chúng tôi sẽ mô tả điều này trong hiện chi tiết trong một số trang trình bày nhưng bạn sẽ thấy
điều này trong tất cả các chương trình c của mình.
Vì vậy, câu lệnh include là một chỉ thị tiền xử lý vì ký hiệu bảng Anh
mà chúng ta biết điều đó.
Và chúng tôi gọi nó là một tuyên bố như phản đối một chỉ thị không có lý
do thực sự chỉ vì nó phổ biến sử dụng thuật ngữ đó trong ngôn ngữ lập trình, nhưng nó
là một chỉ thị về mặt kỹ thuật.
Và một lần nữa, ví dụ trong chương trình đã bao gồm một cái gì đó
này trong các dấu ngoặc nhọn này.
Vì vậy, chúng tôi thấy điều này bao gồm từ khóa và sau đó chúng tôi thấy stdio này. h.
Và đây là một ví dụ.
Đây là cái mà chúng tôi được sử dụng trong thử thách đầu tiên của chúng tôi.
Nó không hoàn toàn là một phần của chương trình thực thi.
Tuy nhiên, chương trình sẽ không hoạt động nếu không có nó.
Chúng tôi biết đó là một chỉ thị được xử lý trước.
Nó không thực sự làm được nhiều như xa như cách chương trình hoạt động.
Nó chỉ nói với trình biên dịch trước khi nó chạy, hey, chúng tôi đã làm một cái gì đó ở
đây với bao gồm này.
Và vì vậy nếu bạn không có nó ở đó, trình biên dịch sẽ phàn
nàn và đưa ra các lỗi.
Vì vậy, bạn cần nó.
Biểu tượng bảng Anh chỉ ra rằng đó là một chỉ thị tiền xử lý.
Chúng tôi đã nói về điều đó, đó là một hướng dẫn trình biên dịch của bạn
để làm điều gì đó trước đây biên dịch mã nguồn.
Có nhiều tiền xử lý và chúng tôi đã đưa ra một số ví dụ trong
bài giảng trước khi xử lý.
Chúng ta đã nói về các hằng số, các câu lệnh xác định.
Chúng tôi đã nói về nếu và những thứ khác và các chỉ thị tiền xử lý
có điều kiện khác nhau.
Nhưng đây là một trong những điều thực sự những cái thường được sử dụng, bao gồm.
Và một lần nữa, các chỉ thị này có thể ở bất kỳ đâu trong mã nguồn của bạn nhưng
chúng thường ở trên cùng.
Trong phần bao gồm cụ thể, điều này bao gồm chỉ thị tiền xử lý rất giống
với câu lệnh nhập trong java nếu bạn quen thuộc với điều đó.
Nhưng điều đó có nghĩa gì?
Vì vậy, trong ví dụ trên ở đây với bao gồm ký hiệu bảng Anh stdio. h, điều này đang nói với trình biên
dịch của bạn để bao gồm một số nội dung chương trình của
bạn trong tệp có tên đó.
Vì vậy, có một tên tệp tồn tại ở một nơi nào đó được gọi là stdio. h.
Và những gì chỉ thị đang nói là chương trình hiện tại của tôi
có chứa chỉ thị cần một số nội dung bên trong tệp này để biên dịch.
Vì vậy, cụ thể là bao gồm Chỉ thị sẽ có tên tệp kết
thúc bằng. h.
Chúng được gọi là tệp tiêu đề.
Chúng được gọi là tệp tiêu đề vì chúng thường được
bao gồm ở đầu tệp nguồn.
Đó là một trong những điều đầu tiên bạn làm là bạn bao gồm tất cả các tệp tiêu đề của bạn.
Và một lần nữa, bộ xử lý trước này
Chỉ thị nói rằng tôi muốn một số nội dung bên trong tệp đó.
Nó không phải là một tập tin c.
Chúng tôi biết rằng các tệp kết thúc trong một. c là c tệp nguồn.
Nên . h phải là một cái gì đó khác, và nó là.
Đó là một tệp tiêu đề.
Và nó có điều đó. phần mở rộng h.
Vì vậy, chúng ta hãy nói về tệp tiêu đề là gì.
Tệp tiêu đề xác định thông tin về một số chức năng được
cung cấp bởi tệp đó.
Và tôi sẽ cho bạn một ví dụ về một số của nội dung trong tệp tiêu đề.
Nhưng trước hết, họ đang xác định một số thông tin về một số mã nguồn.
Và cụ thể cho ví dụ của chúng tôi với stdio bao gồm. h, điều này bao gồm một tiêu đề
thư viện tiêu chuẩn c.
Vì vậy, hãy nhớ, tôi đã nói bạn về thư viện.
Thư viện chỉ là bổ sung chức năng đã được viết cho bạn và
c rằng bạn có thể đưa vào chương trình của bạn để bạn
không phải viết lại nó.
Vì vậy, một lần nữa, các ví dụ về thư viện là đọc và ghi vào bảng
điều khiển, hiển thị đầu ra, đọc và viết tệp, tất cả các loại khác
nhau làm mã mạng, nhiều nhiều thư viện khác nhau ngoài đó.
Nhưng stdio. h là một thư viện tiêu chuẩn c.
Điều đó có nghĩa là nó đi kèm với ngôn ngữ lập
trình c và nó cung cấp chức năng để hiển thị đầu ra trong số nhiều thứ khác.
Vì vậy, stdio. h, đó là một tệp tiêu đề.
Nó xác định một số chức năng trình biên dịch cần phải hiểu trước khi nó thực sự
có thể sử dụng nó.
Vì vậy, cụ thể là stdio. h chứa thông tin về printf.
Và vì vậy chúng ta sẽ nói chuyện về printf
trong bài giảng tiếp theo giúp chúng tôi hiển thị đầu ra, nhưng printf là
một hàm trong stdio. tệp tiêu đề h.
Và nó cũng chứa nhiều chức năng khác.
Stdio là viết tắt của chuẩn đầu vào đầu ra.
Vì vậy, thư viện này đang mô tả nó chứa chức năng xử lý đầu
vào và đầu ra.
Và đây là khái niệm sử dụng một cái tên có ý nghĩa.
Chúng tôi không muốn gọi như vậy thư viện Jason hoặc Jason. h vì điều đó không có
ý nghĩa.
Chúng tôi sử dụng stdio. h bởi vì nó nói io tiêu chuẩn.
Đầu vào và đầu ra tiêu chuẩn, và chúng tôi biết thư viện đó chứa tất cả các
loại chức năng cho nhập alpha.
Cụ thể là chức năng chúng tôi muốn sử dụng trong chương trình thử thách, chương trình ví dụ
đầu tiên của chúng tôi là chúng tôi muốn sử dụng hàm này được gọi
là printf, cho phép chúng tôi hiển thị đầu ra cho bàn điều khiển.
Và do đó, bằng cách bao gồm stdio này. h trong mã nguồn của chúng tôi, chúng tôi đang nói để sử dụng
chức năng này của printf, chúng tôi cần bao gồm tệp này.
Vì vậy, kích hoạt tiêu đề sẽ chỉ định thông tin mà trình biên dịch
sử dụng để tích hợp và sử dụng lại bất kỳ mã, bất kỳ chức năng nào trong một chương trình.
Vì vậy, bạn sẽ sử dụng nhiều nhiều tệp tiêu đề thư viện tiêu chuẩn
khác nhau và có nhiều ngoài kia, stdio. h chỉ là một.
Lại có các tệp tiêu đề xác định chức năng hoặc nguyên mẫu
chức năng cho mã mạng, mã ổ cắm.
Một lần nữa, chúng ta sẽ trải qua một rất nhiều trong số đó, các chuỗi cho các từ hoàn chỉnh
và những thứ tương tự.
Nhưng ngoài tiêu chuẩn c thư viện trong các thư viện khác nhau đi kèm với lập trình c
ngôn ngữ, bạn cũng có thể tạo các tệp tiêu đề của riêng mình
và bạn sẽ tạo tệp tiêu đề của riêng bạn vì tệp tiêu đề
cho phép sử dụng lại phần mềm.
Họ cho phép bạn sử dụng lại chức năng được viết bằng c.
Vì vậy, ở đâu đó các nhà thiết kế của c đã viết tất cả mã c này đọc và ghi
dữ liệu và xử lý đầu vào và đầu ra.
Họ không muốn lập trình viên c mới này phải viết của riêng họ.
Vì vậy, họ sẽ viết nó cho bạn và
họ sẽ nói rằng bạn có thể sử dụng nó.
Và cách bạn sử dụng nó là bạn bao gồm tệp tiêu đề.
Và bạn với tư cách là nhà phát triển của chính mình, bạn có thể viết một số mã trong một
chương trình lớn, lớn, hàng nghìn tệp bạn muốn được sử dụng trong các tệp khác.
Và vì vậy bạn sẽ viết tệp tiêu đề của riêng bạn.
Và các tệp tiêu đề, một lần nữa, sẽ xác định các
nguyên mẫu hàm, các hằng số khác nhau, tất cả những thứ khác nhau
sẽ giúp người khác tệp có thể sử dụng chương trình của bạn, nó sẽ giúp
biên dịch chương trình của bạn.
Vì vậy, nó là một tái sử dụng phần mềm về cơ bản kỹ thuật.
Vì vậy, chúng tôi sẽ bao gồm điều này io tiêu chuẩn. tệp tiêu đề trong một chương trình bất
cứ khi nào chúng ta cần sử dụng hàm printf từ thư
viện chuẩn, nó bắt buộc phải có.
Nếu bạn không bao gồm nó, nó sẽ không biên dịch.
Vì vậy, bất cứ khi nào bạn đang sử dụng chức năng nhất
định, bạn phải sử dụng bao gồm.
Cú pháp đối với các tệp tiêu đề đi, chúng phân biệt chữ hoa chữ thường.
Phân biệt chữ hoa chữ thường nghĩa là viết hoa hoặc viết thường.
Nó quan trọng cho dù bạn làm cái này hay cái khác.
Vì vậy, bạn nên luôn luôn viết chúng bằng chữ thường.
Tệp tiêu đề của bạn phải ở trong chữ thường vì nếu không thì một số
hệ thống nhất định có thể giải thích chúng có một ý nghĩa khác.
Có hai cách để bao gồm các tệp tiêu đề trong một chương trình.
Bạn có thể sử dụng dấu ngoặc nhọn chẳng hạn như bảng Anh bao
gồm Jason. h và dấu ngoặc nhọn.
Và điều này thường có nghĩa là yêu cầu bộ tiền xử lý tìm kiếm
một tệp trong một số loại thư mục hệ thống.
Nó thường là một thư viện tiêu chuẩn đi kèm với ngôn ngữ lập trình c.
Bạn cũng có thể sử dụng dấu ngoặc kép.
Dấu ngoặc kép thường có nghĩa là nó có nghĩa là đó là một tệp tiêu đề do người dùng xác định.
Nó là một cái mà bạn đã tạo ra với tư cách là nhà phát
triển không sử dụng ngôn ngữ lập trình c nhưng bạn muốn có tiêu đề đó ở đó
vì bạn muốn sử dụng lại một số mã.
Vì vậy, nó cũng sẽ nói tìm trong thư mục hiện tại.
Mọi trình biên dịch c tuân theo theo tiêu chuẩn C11 sẽ có một tập hợp
các tiêu đề tiêu chuẩn các tệp được cung cấp cùng với nó.
Đây chỉ là các tệp tiêu đề đại diện cho các thư viện.
C chức năng đó đi kèm với ngôn ngữ.
Khi bạn sử dụng lệnh include, thực tế phổ biến là sử dụng các chỉ thị tiền xử
lý khác nếu không tìm và xác định để bạn không bao gồm
tệp nhiều lần.
Điều này là để hiệu quả.
Vì vậy, nếu chương trình của bạn đang sử dụng printf, ví dụ: hiển thị
đầu ra ra màn hình, bạn muốn nói với chương trình của mình, này, tôi cần đưa
chức năng bổ sung này vào thư viện chuẩn.
Bạn không muốn nói điều đó với bao gồm nó nhiều lần vì bộ xử lý trước
sẽ thực hiện nhiều những thứ mà nó không cần phải làm.
Vì vậy, thông thường bạn sẽ sử dụng nếu không được xác định.
Vì vậy, bạn sẽ thấy một số điều này trong một số trong số các ví dụ
mà tôi cung cấp, nơi tôi bao gồm những điều này nếu không định nghĩa và xác định câu lệnh.
Đây là một ví dụ về một tệp tiêu đề trong nội dung của nó.
Bạn có thể có một số tệp tiêu đề, có một số nhận xét trong đó, nó có thể
có những thứ khác trong đó.
Nó chủ yếu có chức năng nguyên mẫu trong đó, nhưng nó có thể
có hằng số, nó có thể có typedef.
Đây là một số khái niệm chúng tôi chưa hiểu.
Nhưng tôi chỉ đang cố gắng minh họa cố gắng giúp bạn hiểu rằng
nó chứa đựng nhiều điều khác nhau.
Nhưng một lần nữa cho stdio của chúng tôi. h, có một cái gì đó trong đó được gọi là printf định nghĩa hàm printf để
khi chúng tôi liên kết, chúng tôi có thể tìm thấy mã triển
khai cho điều đó.
Vì vậy, đây là một số nguyên mẫu hàm.
Nguyên mẫu hàm là chỉ là tên của các chức năng.
Chúng tôi biết chức năng là gì hy vọng bây giờ, đó chỉ
là một cách nhóm mã lại với nhau.
Chúng ta sẽ nói về các chức năng chi tiết hơn sau này.
Vì vậy, một tệp tiêu đề có thể bao gồm nhiều, nhiều thứ khác nhau.
Nó có thể bao gồm các chỉ thị đã xác định, khai báo hằng, cấu trúc.
Đây lại là một cách để nhóm khác nhau biến, nhóm dữ liệu khác nhau.
Các câu lệnh Typedef có để làm với các kiểu dữ liệu.
Chúng tôi sẽ nói thêm về điều đó.
Nhưng các nguyên mẫu hàm là thực sự là một trong những quan trọng.
Họ đang cho bạn biết các chức năng như thế nào được định nghĩa, vì vậy trình biên dịch có thể
tạo ra mã mà nó cần.
Mã thực thi đi trong một tệp mã nguồn.
Tệp mã nguồn kết thúc bên trong . c mở rộng.
Mã thực thi bình thường không có trong tệp tiêu đề.
Có một số trường hợp ngoại lệ.
Khi bạn muốn làm những việc nội tuyến đó lại là một điều
hiệu quả khi bạn có thể đặt mã
nguồn thành các tệp tiêu đề, nhưng thường là a. tập tin h, a tệp tiêu đề sẽ không chứa mã thực thi.
Nó sẽ chứa các dòng mã chỉ cho các định nghĩa.
Được rồi, sẽ không trở thành bất kỳ logic nào trong đó.
Nó chỉ là định nghĩa.
Chức năng này tồn tại.
Chức năng đó tồn tại.
Các hằng số này tồn tại.
Những cấu trúc khác nhau tồn tại.
Họ không nói mã này như thế nào đang làm những gì nó đang làm.
Nó chỉ nói với bạn rằng nó ở đó.
Nó cần bởi trình biên dịch để tạo liên kết.
Được rồi, vậy bạn sẽ tạo các tệp tiêu đề của riêng bạn.
Bạn sẽ sử dụng tiêu đề hệ thống các tệp cho chức năng bổ sung.
Đó là một khái niệm mà bạn cần hiểu trước khi bạn chuyển sang
viết chương trình c vì bạn sẽ thấy điều này bao
gồm chỉ thị trong tất cả các chương trình.
Và nó chỉ nói với chương trình một lần nữa rằng chúng tôi đang bao gồm một
mã bổ sung ở đâu đó.
Chúng tôi đang bao gồm định nghĩa bổ sung mã để bây giờ chúng ta
có thể gọi các hàm khác nhau này trong mã khác nhau trong chương trình c của chúng tôi.
Vì vậy, tôi hy vọng điều đó có ý nghĩa.
Một lần nữa, nó không phải là một thực tế khái niệm phức tạp.
Chúng tôi đang bao gồm mã bổ sung.
Nó khá trực quan, nhưng chúng tôi sẽ xem xét nó, chúng tôi sẽ cung
cấp thêm các ví dụ khi chúng tôi tiếp tục.
Cảm ơn bạn.