Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Khác biệt giữa definition (định nghĩa) và declaration (khai báo) trong C++?


Trong C++, declaration và definition thường bị nhầm lẫn.

Declaration (khai báo): báo cho trình biên dịch về kiểu, kích thước, và đối với hàm: kiểu và kích thước tham số của biến, kiểu do người dùng định nghĩa, hoặc hàm. Không dành chỗ bộ nhớ cho biến trong trường hợp khai báo.

Definition (định nghĩa): ngoài những gì khai báo làm, còn dành chỗ bộ nhớ. Có thể nói: DEFINITION = DECLARATION + SPACE RESERVATION.

Ví dụ khai báo:

extern int a; // khai báo biến a không định nghĩa
struct _tagExample { int a; int b; }; // khai báo struct
int myFunc(int a, int b); // khai báo hàm

Ví dụ định nghĩa:

int a;
int b = 0;
int myFunc(int a, int b) { return a + b; }
struct _tagExample example;