tôi sẽ đề nghị nhận được một cuốn sách khác nhau, bởi vì nó có lẽ đã nói với bạn bây giờ. Tuy nhiên, hãy để cho nó!
#include <stdio.h>
phần Điều đó nói với các "preproccesor" (một phần của trình biên dịch mà đi qua và nhận được mọi thứ sẵn sàng để được biên soạn) để lấy nội dung của file "stdio.h" trong một số bộ phận đặc biệt của máy tính của bạn, và đặt nó lên trên mã nguồn của bạn. Bằng cách này, trình biên dịch có thể biết về hàm printf
bên dưới, những gì nó cần cho các đối số và giá trị nó trả về (trả về sau khi nó kết thúc).
void SayHello(void);
Phần này tuyên bố chức năng. Bằng cách đặt định nghĩa lên đó, bạn có thể gọi hàm trước khi thực hiện nó. Chức năng "header" này cho trình biên dịch biết rằng sẽ có một hàm trả về void (tức là không có gì. Sau khi nó kết thúc, không có giá trị nào được trả về. Ví dụ: bạn không thể viết int a = SayHello();
, vì không có gì được trả lại từ SayHello()
). Nó cũng không có đối số. Vì vậy, bạn không thể viết SayHello(34)
, bởi vì nó có các đối số trống, có nghĩa là không có.
int main (int argc, const char * argv[]) {
Phần này là bắt đầu của hàm "chính".Chức năng main
là nơi máy tính của bạn bắt đầu chương trình. Đây là điểm khởi đầu. Phải mất hai đối số; số lượng đối số (int argc
) được truyền vào trên dòng lệnh (hiện tại) và một "mảng" của "chuỗi (char *
)". Một mảng chứa danh sách cùng loại dữ liệu. Vì vậy, bạn có thể có một "mảng" của char *
. Nếu bạn bắt đầu chương trình của bạn như thế này: ./myProgram fish
, argv[1]
sẽ giữ các mảng ký tự (char *
) "cá". Đừng lo lắng về phần này quá nhiều, cuốn sách của bạn sẽ giải thích nó sau này.
SayHello();
Phần này gọi hàm SayHello()
. SayHello
của tiêu đề ở trên, nhưng chương trình gọi thực hiện thực tế của các chức năng dưới đây. SayHello
không có đối số và không trả lại bất kỳ giá trị nào (void
). Máy tính tạm thời chuyển sang chức năng SayHello
. Khi nó kết thúc, nó trở về chức năng main
nơi nó đã tắt. Chúng tôi sẽ đến định nghĩa SayHello
thực tế sau.
return 0;
Hàm main
trả về một số nguyên. Nếu mọi thứ đều ổn, return 0
; có nghĩa là, chương trình đã thoát một cách duyên dáng.
} // end of the function
void SayHello(void) { // We already covered this part above
printf("Hello, world!\n");
}
Phần này là chức năng thực tế mà chúng tôi đã thực hiện. Mục tiêu của nó là in Hello, world!
vào bảng điều khiển. Chúng tôi thực hiện việc này bằng cách gọi một chức năng khác được xác định trong tệp stdio.h
mà chúng tôi đã bao gồm. Tên của nó là printf
. Phải mất một số lượng khác nhau của chuỗi (điều này sẽ được bảo hiểm nhiều hơn sau này trong cuốn sách của bạn), và in ra bàn điều khiển. Cuốn sách của bạn có lẽ sẽ rất ngắn gọn bao gồm printf đầy đủ. Bây giờ, tất cả những gì bạn làm là in một chuỗi đơn (bạn có thể in nó bằng một định dạng như sau: printf("My Num is: %d",34);
thay thế %d
với 34
. Tuy nhiên, bây giờ, hãy nhớ rằng nó in một chuỗi. !" theo sau là một dòng mới (\n
) printf
trả về một int
;. nhưng nó chỉ dành riêng cho mục đích khôi phục lỗi Sau printf
kết thúc, nó sẽ trả cho SayHello
chức năng, sau đó kết thúc và trở về main
, mà kết thúc và trả về 0
..
Tôi hy vọng điều này giải thích mọi thứ độc đáo!
Tôi ngạc nhiên rằng cuốn sách không làm được điều này! Bạn sẽ nhận được một cuốn sách tốt hơn. – bobbyalex
Tôi sẽ nhảy trong cùng một chuyến tàu: có được một cuốn sách tốt hơn .... – DFectuoso
cũng toàn bộ mã không phải là tất cả trong cuốn sách. Tôi chỉ muốn ai đó giải thích từng dòng. –