برنامه مشكلي نداره شايد از اين header به اين شكل استفاده ميكنيد :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
كه شكل صحيحش اينه:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ببينيد به طورخيلي ساده اين دو كد با هم فرقي ندارند(گرچه در واقع اين طور نيست)
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
كه هر دو dynamic array هستند.
باز به طور ساده تر اين دو كد با هم برابر هستند:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اميدوارم متوجه منظورم شده باشيد.
يك اشاره گر يا pointer يا * Operator به يك آدرس در حافظه اشاره ميكند كه حتما بايد مقدار اوليه داشته باشه
حداقل اينكه مقدارش بايد null باشه مگر در آرگومان يك تابع. وقتي از malloc استفاده ميكنيد در حقيقت
خودتون memory management رو به عهده ميگيرد و باعث ميشه كه OS يا سيستم عامل يك بلوك از حافظه به مقدار مورد نياز شما در اختيار شما قرار بده.اين فضا در Heap ايجاد ميشه نه Stack.
در ضمن ميشه يك pointer رو با malloc مقدار دهي كرد مثل كد زير:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته بايد چك كرد كه آيا فضاي خواسته شده به ch داده شده يا نه و بعد از استفاده بايد
حافظه ي ايجاد شده رو آزاد كرد:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اينها مفاهيم مهمي هستند و حقيقتا زياد ساده هم نيستند براي يادگيريشون زياد عجله نكنيد.
به نظرم شما زيادي عجله داريد كه برنامه نويسي رو ياد بگيريد.باز هم ميگم زياد عجله نكنيد چون اين مفاهيم بسيار مهم هستند و در برنامه هاي كوچيك خودشون رو نشون نميدن.