#define directive হল একটি প্রিপ্রসেসর নির্দেশিকা; কম্পাইলার এটি দেখার আগেই প্রিপ্রসেসর তাদের বডি দ্বারা সেই ম্যাক্রোগুলিকে প্রতিস্থাপন করে। এটিকে একটি স্বয়ংক্রিয় অনুসন্ধান হিসাবে ভাবুন এবং আপনার উত্স কোডের প্রতিস্থাপন করুন৷
৷একটি কনস্ট ভেরিয়েবল ঘোষণা ভাষায় একটি প্রকৃত পরিবর্তনশীল ঘোষণা করে, যা আপনি একটি বাস্তব পরিবর্তনশীলের মতো ব্যবহার করতে পারেন:এটির ঠিকানা নিন, এটিকে পাস করুন, এটিকে কাস্ট করুন, এটি রূপান্তর করুন ইত্যাদি৷
কম্পাইলার অপ্টিমাইজেশন ছাড়া, বিভিন্ন ক্ষেত্রে এই দুটির সাথে যুক্ত মেমরি বরাদ্দের একটি লুকানো খরচ রয়েছে। কিন্তু সঠিক অপ্টিমাইজেশনের সাথে তারা কমবেশি একই রকম। এছাড়াও, প্রিপ্রসেসর ম্যাক্রোর কোনো সুযোগ নেই, যখন const মান থাকে।