Theo Kernighan & Ritchie trong "Ngôn ngữ lập trình C": Một "tuyên bố" thông báo các thuộc tính của biến; nó bao gồm tên và danh sách các biến, chẳng hạn như: int fahr, celsius;
Theo Stroustrup trong "Ngôn ngữ lập trình C++": Một "tuyên bố" là tuyên bố giới thiệu tên vào chương trình. Nó chỉ định một loại cho tên đó. Một loại xác định việc sử dụng đúng tên hoặc biểu thức.
Không có sách cụ thể định nghĩa "định nghĩa". Nhưng cả hai đều sử dụng thuật ngữ theo nghĩa khoa học của VALUE của một biến. Do đó một khai báo hàm khai báo chữ ký gọi của hàm. Định nghĩa hàm chứa mã thực.
Sự cần thiết phải có ý nghĩa riêng biệt trong các ngôn ngữ này là do trình biên dịch của năm qua. Họ cần phải biết các loại tên trước thời hạn, trước khi tên được sử dụng thực sự. Nếu không, họ sẽ cần phải thực hiện một bước khác thông qua mã nguồn.
Nguồn
2014-12-11 18:06:53
Vâng, trong C++: int x = 10; // Không phải là một tuyên bố và đúng là một định nghĩa. Đây là lý do tại sao tôi nhầm lẫn với thuật ngữ C#. Ngoài ra, C++ cho phép khai báo lớp hoàn toàn khác với các định nghĩa lớp. C# cho phép các lớp một phần và các lớp được định nghĩa hoàn toàn, nhưng cả hai đều có vẻ là khai báo! –
@michael: Không, cả hai đều là định nghĩa. –
@michael: các lớp một phần chỉ là một lớp được chia thành nhiều tệp nguồn. Một số thành viên được định nghĩa trong một tập tin và một số thành viên khác. –