আজ আমি পৃষ্ঠাতে পৌঁছেছেন 167 এর সি প্রোগ্রামিং ল্যাঙ্গুয়েজ (দ্বিতীয় সংস্করণ ব্রায়ান ডব্লিউ Kernighan & ডেনিস এম রিচি) দেখলেন লেখক বলছেন যে আমি নিক্ষেপ আবশ্যক malloc
। বইটির অংশটি এখানে:
7.8.5 স্টোরেজ ম্যানেজমেন্ট
ফাংশন malloc এবং কলোক গতিশীল মেমরি ব্লক প্রাপ্ত।
void *malloc(size_t n)
অনির্কিত স্টোরেজের n বাইটগুলিতে একটি পয়েন্টার দেয় বা অনুরোধটি সন্তুষ্ট না হলে NULL প্রদান করে।
void *calloc(size_t n, size_t size)
নির্দিষ্ট আকারের এন অবজেক্টগুলির একটি অ্যারের জন্য একটি পয়েন্টারটি পর্যাপ্ত ফাঁকা জায়গায়, বা অনুরোধটি সন্তুষ্ট না হলে NULL প্রদান করে। স্টোরেজ শূন্য থেকে শুরু করা হয়। ম্যালোক বা কলোকের মাধ্যমে ফিরে আসা পয়েন্টারটিতে প্রশ্নযুক্ত বস্তুর জন্য সঠিক প্রান্তিককরণ রয়েছে তবে এটি যথাযথ প্রকারের মধ্যে ফেলে দেওয়া আবশ্যক
int *ip; ip = (int *) calloc(n, sizeof(int));
আমি ইতিমধ্যে জানি যে malloc
(এবং তার পরিবার) শূন্য * টাইপ করে , এবং কেন কাস্ট করা হবে না সে সম্পর্কে ভাল ব্যাখ্যা রয়েছেmalloc
।
তবে আমার প্রশ্ন হল: বইটি কেন বলছে যে আমার এটি ফেলে দেওয়া উচিত?
malloc
এটি ব্যবহার করবেন না কারণ এটি সি ++ নয় - আপনার যখন করা দরকার - তবে আপনার উচিত নয় - বাদে ... এজিজিএইচএইচএইচএইচ !!!!! :-)