שפת C/הערות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Atavory (שיחה | תרומות)
מאין תקציר עריכה
Atavory (שיחה | תרומות)
אין תקציר עריכה
שורה 1:
==מילים שמורות==
{{שפת C}}
 
להלן פירוט של ''מילים שמורות'', כלומר מילים שאין להשתמש בהן כשמות משתנים ופונקציות. מהפירוט למטה עולה שאין אחידות בנושא. חלק מהמילים הללו שמורות בכל המהדרים, חלק רק במהדרים חדישים מספיק, וחלק רק במהדרים שהחליטו על דעת עצמם שהמילים שמורות. כדאי בכל מקרה להמנע משימוש במילים אלה כשמות משתנים ופונקציות, גם אם המהדר בו אתה משתמש אינו מתייחס אליהן כך.
הערות בשפה אנושית (לרוב אנגלית) בקוד יכולות לשפר את בהירותו.
 
==הערות קלאסיות (מרובות שורה)==
 
===מילים שמורות סטנדרטיות===
בשפת C אפשר לכתוב הערות כלשהן בין רצפי-התווים */ לבין */. לדוגמה:
<div style="text-align:left; direction:ltr;">
<pre>
/* This is a comment. */
</pre>
</div>
המהדר מתעלם מכל מה שנמצא בין רצפי התווים הנ"ל.
 
הרשימה הבאה מכילה מילים שמורות בכל מהדר תקני.
הערות בסגנון זה יכולות להכיל יותר משורה יחידה:
<div style="text-align:left; direction:ltr;">
<pre>
/* This is a comment, but
it is not limited to a single line. It spans
multiple lines. */
</pre>
</div>
 
*auto
==הערות בסגנון החדש==
*break;
*case
*char
*const
*continue
*default
*do
*double
*else
*enum
*extern
*float
*for
*goto
*if
*int
*long
*register
*return
*short
*signed
*sizeof
*static
*struct
*return
*switch
*typedef
*typedef
*unsigned
*void
*volatile
*while
 
באיזור שנת 2000 אימצה שפת C, בתקן [http://en.wikipedia.org/wiki/C_(programming_language) C99], גם הערות "סגנון חדש", מהסוג הנהוג גם ב[[C++‎]]. הערות אלה, המוגבלות כל אחת לשורה יחידה, מתחילות בתווים //, ונמשכות עד סוף השורה:
<div style="text-align:left; direction:ltr;">
<pre>
// This is a new-style single line comment.
</pre>
</div>
 
===מילים שמורות חדשות===
{{הערה|לא כל המהדרים תומכים בהערות בסגנון החדש. ככל שמהדר ישן יותר, כך גדל הסיכון שהוא אינו תומך בכך.}}
 
מילים אלה הוגדרו כשמורות בתקן חדש יחסית, [http://en.wikipedia.org/wiki/C_(programming_language) C99]. לא כל המהדרים מכירים בהן:
* _Bool
*_Complex
*_Imaginary
*inline
* restrict
 
===מילים שמורות בחלק מהמהדרים===
 
חלק מהמהדרים מכירים במילים אלה כמילים שמורות, למרות שלפי התקן אינן:
*asm,
*cdecl,
*far,
*fortran,
*huge,
*interrupt,
*near,
*pascal,
*typeof
 
===מילים לא-שמורות במהדרים ישנים מאד===
 
מהדרים ישנים עשויים לא להכיר במילים אלה כשמורות:
*const
*enum
*signed
*void
*volatile
 
כמובן שמהדרים ישנים-מאד אלה גם אינם מכירים ב[[שפת C/נספחים#מילים שמורות חדשות|מילים השמורות החדשות]] שראינו.
 
 
{{שפת C|מוגבל}}
 
[[קטגוריה:שפת C|הערותשימוש בספריות]]