יום חמישי, 22 בדצמבר 2016

מחרוזות בשפת אסמבלי (יום חמישי)

מחרוזות בשפת אסמבלי - UnderWarrior PDF


מטרת המסמך היא להציג את פקודות השפה המסייעות בפעולות על מחרוזות.




Show/Hide me Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

יום רביעי, 21 בדצמבר 2016

שפת C - מצביע למצביע (יום רביעי)

מצביע למצביע


מצביע יכול להצביע למצביע אחר עם כוכבית אחת פחות משלו (וכן הלאה "מצביע למצביע למצביע" עוד כוכביות)

הגדרה:
type  **PName; 
שימוש:
int x = 13,*p,**q;  
p = &x;                    
q = &p;                    
הפקודה q = &x לא חוקית!

אם הכתובת של x היא 600 , של p היא 850 ושל q היא 900
אז נתבונן במצב אחרי הפקודות:
x = 13         &x = 600      *x
p = 600      &p = 850      *p = 13        **p
q = 850      &q = 900      *q = 600      **q = 13





הקצאת מטריצה דינאמית:

int n = 5(שורות), m = 4(עמודות), **A;

נעבור לתוכנית:

יום ראשון, 18 בדצמבר 2016

שפת C - פקודת realloc (יום ראשון)

פקודת realloc

מאמר מאת ויקיספר:


פונקציית שינוי-ההקצאה realloc

שינויי הקצאות אפשר לעשות בעזרת הפונקציה realloc, על ידי קריאות מהצורה הבאה:
realloc(<old_ptr>, <total_size>)
כאשר old_ptr היא כתובת הזיכרון המוקצאת הנוכחית, וtotal_size הוא הגודל החדש המבוקש (בבתים).
מערכת ההפעלה תנסה לראות האם אפשר לשנות את רצף הזיכרון הנוכחי לגודל המבוקש. אם הדבר אפשרי, הפונקציה תחזיר את כתובת הזיכרון של הרצף הנוכחי כvoid * (בדיוק כפי שראינו מקודם בהקצאה). אם הדבר אינו אפשרי, היא תבדוק האם יש רצף אחר מתאים בזיכרון. אם היא הצליחה, היא תעתיק את תוכן הרצף הנוכחי לרצף החדש, תשחרר את הרצף הנוכחי, ותחזיר את כתובת הרצף החדש. אם אין רצף אחר מתאים בזיכרון, היא לא תשנה כלום בזיכרון (ובפרט, לא תשחרר את הרצף הנוכחי), ותחזיר NULL כדי לסמן שלא הצליחה.