מדוע char הוא של 1 בייט בשפת C

Mdw Char Hw Sl 1 Byyt Bspt C



כמתכנת C, בוודאי תהיתם מדוע גודל ה-char הוא רק 1 בייט בשפת C. זה אולי נראה כמו פרט קטן, אבל מציאת הסיבה מאחוריו יכולה לעזור לך בכתיבת תוכניות יעילות יותר.

במאמר זה נתמקד בסיבה מאחורי ה-1-byte char בשפת C.

מה זה char בשפה C

כדי לאחסן תווים ואותיות, C משתמש בסוג התווים. ערכי התווים (char) ב-C נשמרים ב-1 בייט של זיכרון ויש להם טווח ערכים של 0 עד 255 או -128 עד 127. המחשב חייב למפות כל מספר שלם עם תו תואם באמצעות קוד מספרי על מנת לייצג תווים. הקוד המספרי הנפוץ ביותר הוא ASCII, המהווה ראשי תיבות של American Standard Code for Information Interchange.







מדוע char הוא של 1 בייט בשפת C

ישנן סיבות מרובות מדוע סוג נתוני ה-char הוא 1 בייט:



1 : הסיבה הראשונה היא שגודל ה-char מוגדר מראש בספרייה סטנדרטית C. לא משנה באיזה מהדר אתה משתמש, הוא יאחסן ויבצע מניפולציות על תווים באמצעות ערכים של 1 בייט. ההסבר הסביר ביותר הוא שהמקבילה (בינארית) של char במערך התווים הסטנדרטי יכולה להתאים לבייט בודד. בזמן הפיתוח הראשוני של C, התקנים הנפוצים ביותר היו ASCII וכן EBCDIC, אשר נזקקו ל-7 ושמונה סיביות קידוד, בהתאמה. לכן, 1 בייט הספיק כדי לסמל את כל סט התווים.



2 : אות ASCII מיוצגת בדרך כלל על ידי תו שמכיל רק 256 תווים. לכן, אתה רק צריך לציין את טווח המספרים מ-0 עד 255, או 8 סיביות = 1 בייט.





3 : מכיוון ש-C תוכנן לשימוש במחשבים עם 16 סיביות של מרחב כתובות, שימוש של יותר מבייט אחד עבור מחרוזות נחשב בזבזני.

4 : שימוש ב-char של 1 בייט בשפת C מקל על המתכנתים להעביר את הקוד שלהם למכונות שונות.



5 : ישנן מספר שפות תכנות, כגון Java ו-C++ שמשתמשות בתווים של 1 בייט, מה שמקל עליך לעבוד בין שפות שונות.

כיצד למצוא את הגודל של סוג הנתונים char

ה מידה של ניתן להשתמש באופרטור כדי לקבוע את הגודל המדויק של סוג או משתנה בפלטפורמה ספציפית. הביטוי sizeof(type) מחזיר את גודל האחסון של האובייקט או הסוג בבתים.

#include
int main ( ) {
char ch;
printf ( 'גודל char: %d בייט \n ' , מידה של ( ch ) ) ;
לַחֲזוֹר 0 ;
}

בקוד לעיל, אנו משתמשים ב- מידה של פונקציה כדי למצוא את הגודל של לְהַשְׁחִיר בשפת תכנות C, שהיא 1 בייט שאושר על ידי המהדר המוצג בפלט למטה.

תְפוּקָה

יתרונות וחסרונות של 1 Byte char בשפת C

להלן היתרונות של 1 בתים char בשפת C.

  • זה הופך את שפת C ליעילה יותר.
  • הופך את שפת C לעקבית יותר עם שפות אחרות המשתמשות גם הן בתים עבור סוגי נתוני תווים.
  • כעת ניתן להעביר דמויות לפעולות מסובכות יותר.

החיסרון היחיד שתקבל עם תו של 1 בייט הוא שתתקל בקושי בעבודה עם תווים בגודל גדול מכיוון שחלק מהשפות עשויות לדרוש יותר מ-256 תווים.

סיכום

בהנחיות לעיל, ראינו שסוג נתוני ה-char בשפת C הוא 1 בייט, והסיבה לכך היא לשמור על עקביות בכל הפלטפורמות. על ידי תיקון גודל ה-char ל-1 בייט, ניתן לבצע אותן פעולות במכונות שונות בדיוק עקבי, לא משנה באיזו חומרה או מהדר אתה משתמש.