× מי אנחנו? התוכנית הראשונה משתנים קלט ופלט אופרטורים חשבוניים משפטי בקרה לולאות לולאות דו ממדיות casting sizeof typedef פונקציות רקורסיות מצביעים מצביע כפול מערכים מערכים דינאמיים מערכים דו ממדים מחרוזות חיפוש בינארי מיון בועות מיון בחירה מיון הכנסה מיון מהיר מיון מיזוג

Let's learn C

typedef & define

שפת c נותנת לנו אפשרות להגדיר לפונקציה / משתנה / רצף מילים / מילה / שם נוסף אשר תפקידו הוא להפוך את הטקסט להיות נוח לקריאה.
כלומר, נגיד ואנחנו רוצים להשתמש במשתנה unsigned int (רק מספרים חיוביים ושלמים), אנו נוכל להגדיר typedef של unsigned int על ידי שם אחר, לדוגמא positive_only.
כעת כאשר אנו נצטרך להשתמש במשתנה מסוג unsigned int אנו נוכל לרשום positive_only במקום ובכך לגרום לקוד להיות יותר קריא.
באופן דומה אנו יכולים להגדיר גם רצף של מילים (או מילה) או פונקציות על ידי שמות שאנחנו נגדיר.
לדוגמא, אנו נוכל להגדיר את 1 להיות ODD ואת 0 להיות EVEN על ידי הגדרת define.

הסינטקס של typedef & define:

typedef מסמן לקומפיילר שיש פה "הגדרה חדשה".
unsigned int מסמן לקומפיילר למה המחשב מתייחס.
positive_only מה המתכנת רואה.
חשוב לזכור:
typedef זה רק למשתנים ומבני נתונים שונים, ואילו ל define אין הגבלה.
נהוג לרשום define ו typedef בתחילת הקוד (אחרי הinclude 'ים).

CODE 1:
#include <stdio.h>
#define ODD 1
typedef unsigned int positive_only;
void main()
{
  //code
}

שימוש בקוד:

בקוד זה אנו רואים את השימוש ב typedef ו define כדי לבדוק אם מספר הוא זוגי או אי-זוגי בצורה קריאה הרבה יותר.

CODE 2:
#include <stdio.h>
#define ODD 1
#define EVEN 0
typedef unsigned int positive_only;
void main()
{
  positive_only x;
  printf("please enter number");
  //for visual studio 2017 or above use scanf_s
  scanf_s("%u",&x);
  if (x%2 == ODD)
  {
    printf("the number is ODD");
  }
  if (x%2 == EVEN)
  {
    printf("the number is EVEN");
  }
}