من دو روش برای تعریف ثابت تو برنامهم میدونم
define PI 3.14 const double 3.14;
حالت اول فقط یه متن رو با یه متن دیگه عوض میکنه. کامپایلر قبل از اینکه کد برنامه رو کامپایل کنه همهی جاهایی که متن اول اتفاق افتاده (در این مثال PI) متن دوم رو میذاره (در این مثال 3.14) و بعداً کد به دست اومده رو کامپایل میکنه. در حالت دوم دقیقاً یک متغیر در برنامه تعریف میشه که در جاهایی که استفاده شده به عنوان یک متغیر بررسی میشه و قوانینی که روی متغیرها تعریف شده روی اون هم اعمال میشه. یکی از تفاوتهایی که ایجاد میشه مثلاً اینه که کنترل روی نوع دوم بیشتره چون میتونیم بهش نوع داده رو منتسب کنیم و قوانین نوع داده هنگام کامپایل و اجرا روش اعمال میشه. در صورتی که نوع اول چون نوع داده نداره بنابراین این قوانین کنترلی هم اعمال نمیشه. دو روش اصلی تعریف ثابت همینه.
PI
3.14