हाल ही में किसी ने किसी अन्य उपयोगकर्ता को आकार (प्रकार) के बजाय आकार के var के उपयोग पर किसी अन्य उपयोगकर्ता की सराहना करते हुए देखा। मैंने हमेशा सोचा था कि सिर्फ एक शैली पसंद था। क्या कोई महत्वपूर्ण अंतर है? उदाहरण के लिए, च और एफएफ के साथ लाइनों ग्राम और gg के साथ लाइनों की तुलना में बेहतर माना गया:"सी" आकार किसी प्रकार या चर के साथ
typedef struct _foo {} foo;
foo *f = malloc(count * sizeof f);
foo *g = malloc(sizeof(foo) * count);
foo **ff = malloc(count * sizeof *ff);
foo **gg = malloc(sizeof(foo*) * count);
मेरी राय में, पहला सेट शैली का सिर्फ एक मामला है। लेकिन लाइनों की दूसरी जोड़ी में, अतिरिक्त दूसरा * आसानी से गुणा के लिए भ्रमित हो सकता है।
आपके पास अपनी पहली 'मॉलोक' लाइन में एक बग है - यह 'sizeof * f' होना चाहिए। सामान्य पैटर्न 'somevar = malloc (गिनती * आकार * somevar) 'है। – caf