ثابت‌ها در C

تعریف مقادیر ثابت با const و #define و تفاوت این دو روش

ثابت‌ها (Constants) چیست؟

وقتی مقداری در طول برنامه هرگز نباید تغییر کند (مثل عدد پی یا نرخ مالیات)، از ثابت استفاده می‌کنیم. تلاش برای تغییر مقدار ثابت، خطای کامپایل می‌دهد.

روش ۱: کلمه کلیدی const

const float PI = 3.14159;
const int MAX_STUDENTS = 50;

printf("%f", PI);

⚠️ باید هنگام تعریف، مقدار بدهید؛ بعداً نمی‌توان تغییرش داد.

روش ۲: #define (ماکرو پیش‌پردازنده)

#define PI 3.14159
#define MAX 100

printf("%f", PI);

در این روش نقطه‌ویرگول و علامت = نمی‌گذاریم! پیش‌پردازنده قبل از کامپایل، هر جای کد که PI ببیند، مقدار 3.14159 را جایگزین می‌کند.

مقایسه const و #define

ویژگیconst#define
نوع دادهدارد (مثل float)ندارد — فقط جایگزینی متن
بررسی خطاکامپایلر بررسی می‌کندکمتر ایمن است
دیباگآسان‌ترسخت‌تر
محدوده (Scope)داردسراسری از محل تعریف

قرارداد نام‌گذاری

ثابت‌ها معمولاً با حروف بزرگ نوشته می‌شوند تا از متغیرها متمایز باشند:

const double TAX_RATE = 0.09;
#define MAX_SIZE 100

مثال عملی

#include <stdio.h>
#define PI 3.14159

int main() {
    const double TAX = 0.09;
    double price = 100.0;

    printf("Final price: %.2f", price + price * TAX);
    return 0;
}

نکات مهم

این مبحث بخشی از دوره آموزش کامل زبان C است.

ابزارهای مرتبط