16-12-2007, 13:19
|
|
|
חבר מתאריך: 05.07.07
הודעות: 56
|
|
ציטוט:
Dark Knightהדוגמאות שכתבתי היו מהדברים הראשונים שעלו לי בראש, אבל תחשוב על דוגמא פשוטה בהרבה:
אתה כותב תוכנית מתמטית - וכמו בכל תוכנית כזו אתה זקוק למספר פאי: 3.14.
אלא מה, זו תוכנה מתמטית, אתה צריך דיוק של 32-16 ספרות משמעותיות:
3.1415926535897932384626433832795
תחשוב שיש לך 30 פונק' שמשתמשות ב-PI, ובכל אחת משתמשים בו 10 פעמים.
קודם כל, לדחוף מספר כזה לכל מקום, זה מייגע.
דבר שני, יש לך עכשיו איזה 300 מופעים שלו, נניח ב-10 מהם טעית בספרה אחת... לך תמצא את זה עכשיו....
בקשר להקצאות דינאמיות, חשוב להבין שלהקצות מערך זה רק שימוש קטן וזניח... בהמשך אני משאר שתלמדו על מבני נתונים דינאמיים כגון רשימות מקושרות ועצים, ואז תבין את המשמעות האמיתית של ההקצאות הדינאמיות...
עקרונית, גם פה ה-define יכול לעזור, אם כי אני לא יודע אם למדתם שימוש שכזה:
קוד:
#define ALLOC_STR(to, from) ((to) = (char*)malloc(sizeof(char)*strlen((from))+1))
שזה יכול מאד לעזור לא לכתוב קודים שלמים מחדש...
|
הדוגמה עם ה_pi מסבירה מצויין
ובקשר להקצאה, התחלנו מבנים בקושי עוד לא הגענו ל"רשימות משורשרות/מקושרות"
תודב על שהקדשת מזמנך לענות על שאלותיי.
regards ghostdog
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.
|