ใน C ++ การประกาศและคำจำกัดความมักสับสน การประกาศหมายถึง (ในภาษา C) ว่าคุณกำลังบอกคอมไพเลอร์เกี่ยวกับประเภท ขนาด และในกรณีของการประกาศฟังก์ชัน ประเภทและขนาดของพารามิเตอร์ของตัวแปรใดๆ หรือประเภทหรือฟังก์ชันที่ผู้ใช้กำหนดในโปรแกรมของคุณ ไม่มีที่ว่างในหน่วยความจำสำหรับตัวแปรใด ๆ ในกรณีของการประกาศ
ความหมายในอีกแง่หนึ่งหมายความว่านอกเหนือจากทุกสิ่งที่ประกาศทำ พื้นที่จะถูกสงวนเพิ่มเติมในหน่วยความจำ คุณสามารถพูดว่า "DEFINITION =DECLARATION + SPACE RESERVATION"
ต่อไปนี้เป็นตัวอย่างของการประกาศ -
extern int a; // Declaring a variable a without defining it struct _tagExample { int a; int b; }; // Declaring a struct int myFunc (int a, int b); // Declaring a function
ต่อไปนี้คือตัวอย่างคำจำกัดความ -
int a; int b = 0; int myFunc (int a, int b) { return a + b; } struct _tagExample example;