Trong lập trình C Sự khác biệt giữa khai báo và định nghĩa của biến / hàm là gì?


Câu trả lời 1:

Một khai báo cho biết biến / hàm là gì. Một định nghĩa cho biết làm thế nào biến / chức năng hoạt động. Với C, bạn phải khai báo hoặc xác định một biến / hàm trước khi sử dụng nó. Nếu bạn chỉ khai báo hàm thì bạn có thể biên dịch chương trình nhưng không thể xây dựng chương trình cho đến khi chúng được xác định trong mã của bạn hoặc thư viện.


Câu trả lời 2:

Một tuyên bố tuyên bố rằng sự vật (biến / chức năng) tồn tại SOMEWHERE và cung cấp ít nhất một số thông tin loại về nó. Khai báo cho một mảng có thể không cho chiều dài của nó. Một khai báo cho một chức năng có thể không cung cấp một nguyên mẫu để xác định các tham số cần có. Tuyên bố cho struct / union / enum có thể không xác định các thành viên của nó.

Định nghĩa cho những điều này không chỉ nói rằng sự vật tồn tại, mà còn cung cấp tất cả các chi tiết cần thiết ngay tại đó.


Câu trả lời 3:

Câu hỏi đặt ra là trong chương trình C Sự khác biệt giữa khai báo và định nghĩa của biến / hàm là gì?

Một khai báo cho biết tên và loại của một biến (hoặc hàm.)

Một định nghĩa phân bổ lưu trữ cho nó.

Đôi khi, cùng một câu lệnh thực hiện cả hai - chẳng hạn như khai báo tĩnh tĩnh của các biến trong phạm vi biên dịch hoặc các biến tự động (hoặc tĩnh) bên trong phạm vi của hàm.

Đôi khi, một vòng loại của extern exter trên một nguyên mẫu biến hoặc hàm sẽ chỉ ra một khai báo, với định nghĩa được đưa ra trong một phạm vi biên dịch khác.


Câu trả lời 4:

Khai báo: nên có trong một tệp tiêu đề: nói rằng tôi sẽ tạo một hàm trả về một loại nhất định, có tên này và nhận các đối số này.

Định nghĩa: nên có trong tệp nguồn C: lặp lại định nghĩa của hàm nhưng không được theo sau bởi dấu chấm phẩy. Thay vào đó, nó được theo sau bởi một dấu ngoặc mở {và giữa dấu ngoặc kép và dấu ngoặc kép} là các câu lệnh mã nguồn thực hiện hàm.


Câu trả lời 5:

Khai báo: nên có trong một tệp tiêu đề: nói rằng tôi sẽ tạo một hàm trả về một loại nhất định, có tên này và nhận các đối số này.

Định nghĩa: nên có trong tệp nguồn C: lặp lại định nghĩa của hàm nhưng không được theo sau bởi dấu chấm phẩy. Thay vào đó, nó được theo sau bởi một dấu ngoặc mở {và giữa dấu ngoặc kép và dấu ngoặc kép} là các câu lệnh mã nguồn thực hiện hàm.


Câu trả lời 6:

Khai báo: nên có trong một tệp tiêu đề: nói rằng tôi sẽ tạo một hàm trả về một loại nhất định, có tên này và nhận các đối số này.

Định nghĩa: nên có trong tệp nguồn C: lặp lại định nghĩa của hàm nhưng không được theo sau bởi dấu chấm phẩy. Thay vào đó, nó được theo sau bởi một dấu ngoặc mở {và giữa dấu ngoặc kép và dấu ngoặc kép} là các câu lệnh mã nguồn thực hiện hàm.