30/09/2018, 16:53
Khác nhau giữa khai báo và định nghĩa
Các bạn có thể giúp mình phân biệt khai báo hàm và định nghĩa hàm dc không?
Bài liên quan
Các bạn có thể giúp mình phân biệt khai báo hàm và định nghĩa hàm dc không?
bạn có thể vào đây http://www.cprogramming.com/declare_vs_define.html
@david15894 khi nào cần khai báo hàm z bạn sao t thấy nhiều chương trình k khai báo hàm mà vẫn định nghĩa hàm và gọi hàm bình thường . 1 thắc mắc nữa là khi nào cần truyền tham số và khi nào thì k cần?
Bạn chưa hiểu chỗ khai báo(declare) và định nghĩa(define) rồi. Để Đạt giải thích đơn giản thế náy nhé.
Giải thích chung chung:
Khai báo: là giới thiệu sự tồn tại của
Định nghĩa: là trình bày rõ
Giải thích và ví dụ cho biến:
Khai báo biến:
Ta có thể viết như sau, bắt buộc phải có từ khóa
extern
thì mới gọi là khai báo.Vì từ khóa
extern
cho biết rằng biến này được định nghĩa ở chỗ khác. Có nghĩa compiler không cần phải cấp vùng nhớ cho biến này.Định nghĩa biến:
Vậy trường hợp ta viết như thông thường hay làm
Thì đây là sự kết hợp giữa khai báo và định nghĩa. Ở đây mình có thể hiểu là, tôi khai báo một biến kiểu
int
có tên làcau_lam_gioi_the
và xin compiler cấp cho nó một vùng nhớ, cho vùng nhớ đó gía trị 3.Nếu mình không gán gía trị cho biến
cau_lam_gioi_the
thì compiler sẽ không gán gía trị gì vào vùng nhớ đã tạo cho biến này. Khi đó mình sẽ có một gía trị rác tại vùng nhớ đó.Giải thích và ví dụ cho hàm:
Hàm thì đơn giản hơn nhiều
Đây là một khai báo
Đây là một định nghĩa
Giải thích và ví dụ cho class:
Đây là một khai báo
Đây là một định nghĩa