בקשה | מדריך לשפת C
-
שלום וברכה,
דרוש לי מדריך (אתר / קובץ) לשפת C, פחות נחוץ הבסיס של השפה,
יותר לימוד של threading, pointers, memory, data structures ונושאים מתקדמים יותר.
אשמח לכל עזרה.
תודה רבה! -
@have-a-good-day סתם שאלה, איך למדת את הבסיס של השפה?
תוכל לשלוח קישור? -
@have-a-good-day חוץ מthreading הנ"ל נושאים בסיסיים, אתה צריך מדריך דווקא בעברית? כי tutorialspoint הוא אתר מצויין לדעתי https://www.tutorialspoint.com/cprogramming/index.htm
אבל כמובן באנגלית.
הספר הכי טוב באנגלית שידוע לי הוא the c programing language, הוא לכאורה מכסה את כל מה שיש לשפה להציע. לא הספקתי לקרוא אותו.
הספר הכי טוב בעברית שאני מכיר הוא מערכות הפעלה במרכז לחינוך סייבר.
https://cyber.org.il/data/
הנושא הוא אמנם מערכות הפעלה, אבל הוא מכסה את מה שבקשת בהקשר של threading MEMORY .ויש את ויקיספר שיסביר לך על מצביעים
https://he.wikibooks.org/wiki/שפת_C/מצביעיםוכדאי ללמוד C בסביבת יוניקס, לדעתי הנושא נמצא גם בספר the c programing language.
כמובן כל אלה קיצורים אבל אין כמו msdn, מצד שני אפשר לשוטט שם כל החיים ולא לסיים. יש התייחסות לזה בחוברת במרכז לחינוך סייבר.
ובקיצור אני ממליץ להתחיל מהחוברות של המרכז לחינוך סייבר, מאוד כיפיות.
-
@ata תודה רבה על ההשקעה בתשובה!
הספרים שכתבת מהמרכז לחינוך הנ"ל זה התמקדות יותר במע"ה, אין איזה ספר או משהו שיציע את הדברים האלה אבל בהתמקדות בשפה,כמו נגיד msdn אבל בספר ללמידה?
אציין שיש לי רקע של קורס מע"ה, והידע שאני רוצה להשלים הוא בעיקר מבחינת כתיבת קוד וריענון (שזה פחות יעזור לי ספר על מע"ה אלא יותר תרגילים בשפה וכדו')תודה רבה
-
@have-a-good-day
לא מכיר.
אני לא בטוח אם אתה עונה לי אחרי שפתחת את הספר במרכז. אז רק אומר בהנחה שלא, שהוא כותב שהוא מנסה ללמד את C על הדרך, ואני קראתי אותו ואני יכול לומר שלפי מה שאני חושב אז את הבסיס הוא לא מלמד אבל כן את השאר. יש שם תרגילים ותוכל לדלג ישר לthreading ולmemory map
חוץ ממה שכתבתי אני לא מכיר יותר מנסיוני האישי, (לבד מספרים שאסור לי לשתף אותך בהם כי הם מוגנים עם זכויות יוצרים שאסרו לשתף אותם. יכול להיות שב gool יש מה שאתה מחפש, אבל זה לא בחינם.) -
@have-a-good-day כתב בבקשה | מדריך לשפת C:
(לצורך הכנה לראיון ב-C לדוגמא, על איזה עוד נושאים היית ממליץ לעבור?)
אם העבודה היא ב C,
אז להתכונן חזק על הנושא של הקצאות זיכרון דינמי, שמתנהל אחרת מ C++ ששם זה רק new ו delete. -
לא עשיתי ראיון בC
בשפות יותר גבוהות שואלים על מבני נתונים וסיבוכיות, כדאי לתרגל באתר leetcode (האתר מכין לראיונות, לבד מהצד באישיותי שבהם) ייתכן שישאלו את זה גם בC אבל יש לי תחושה שלא ברמות מסובכות כי זה הרבה קוד בC.
שפת C ממה שאני מכיר יותר מכוונת לLOE_LEVEL ולכן מטבע הדברים לEMBEDDED. ואני לא יודע אם הנושא מעניין אותך. אבל הוא כבר לא קשור באמת לC, אלא תחום שלם חדש שנקרא אמבדד שבין השאר משתמשים בC ובשפות נוספות.
אבל אומרים ששאלה נפוצה בC היא לממש malloc שאת זה תלמד כשתלמד מצביעים (בשפת C דייקא)ייתכן שישאלו אם אתה יודע לתכנת בסביבת יוניקס, שלפעמים באמבדד רוצים לדחוף למכשיר שמייצרים גירסה מסוימת של יוניקס
ואז כדאי ללמוד על POSIX וIPC - inter proccess communication ולא הספקתי לעשות את זה בעצמי, לבד מהידע התיאורטי. - בהצלחה!