malloc , realloc
malloc הפונק' מקצה בלוק בזכרון -מערכת ההפעלה מאתרת מקום פנוי ומחזירה את כתובת תחילת הבלוק כטיפוס *void אם הפונק' לא מצליחה להקצות מקום היא מחזירה NULL . *void - מציין שמדובר בכתובת לטיפוס כלשהו ולכן צריך לבצע המרה לטיפוס הרצוי למשל *float realloc הפונק' משנה את גודל בלוק בזכרון אשר הוקצא קודם לכן ע"י malloc בצורה דינמית (אי אפשר לשנות גודל של מערך קבוע למשל [arr[20) אם קיים בזכרון מספיק מקום כדי להרחיב את הבלוק אז הזכרון הנוסף מוקצה בהמשך לאותו בלוק ואם לא נמצא מספיק מקום כדי להרחיב את הבלוק הנוכחי בלוק חדש מוקצה במקום אחר בגודל הרצוי והבלוק הישן מועתק לחדש ,הבלוק הישן משתחרר והפונק' מחזירה מצביע לבלוק החדש. אם אין מספיק מקום בזכרון -מחזירה NULL דרך אגב הפונק' realloc גורמת לתוקרה רבה (מציאת מקום והעתקת הבלוק הישן -במקרה ולא נמצא מקום בהמשך לבלוק) מקווה שהבנת