define מתקדם
כפי שלמדנו כבר, define מגדיר קבוע. לאורך כל התוכנית כשהקבוע יופיע הקומפיילר יתייחס אליו כרצף התווים שבחרנו.-השם הרשמי להגדרות כאלו הוא "מאקרו" (macro).
-נראה היום שאפשר לעשות פעולות מתקדמות יותר עם define. בדומה לפונקציות:
#include <stdio.h> #define p(a) printf("%d\n",a) void main(){ int x=3,y=8; p(x); p(y); }
כאן הגדרנו את p כישות שדומה לקבוע. כל מקום שיש בתוכנית: (מספר או תווים כלשהם)p
זה יוחלף ל:
printf("%d\n",מספר)
גם תווים:
#include <stdio.h> #define p(a) printf("%c\n",a+1) void main(){ p('e'); p('E'); }