மல்லோக் வெர்சஸ் காலோக்
உள்ளடக்கம்
- பொருளடக்கம்: மல்லோக்கிற்கும் காலோக்கிற்கும் உள்ள வேறுபாடு
- ஒப்பீட்டு விளக்கப்படம்
- malloc
- calloc
- முக்கிய வேறுபாடுகள்
- தீர்மானம்
- விளக்க வீடியோ
Malloc மற்றும் calloc க்கு இடையிலான முக்கிய வேறுபாடு என்னவென்றால், malloc கோரப்பட்ட நினைவகத்தின் ஒரே ஒரு தொகுதியை மட்டுமே ஒதுக்குகிறது, அதே சமயம் calloc கோரப்பட்ட நினைவகத்தின் பல தொகுதிகளை ஒதுக்குகிறது.
நினைவக ஒதுக்கீடு என்பது கணினி அறிவியலில் மிக முக்கியமான கருத்தாகும், கணினி நிரலாக்கத்தில் உங்கள் குறியீட்டிற்கான நினைவகத்தை உருவாக்க வேண்டும். மல்லோக்கிற்கும் காலோக்கிற்கும் வேலை செய்வதற்கான வாதங்கள் தேவை. மல்லோக்கிற்கு ஒரே ஒரு வாதம் தேவை, காலோக்கிற்கு இரண்டு வாதங்கள் தேவை. சி நிரலாக்கத்திற்கு மல்லோக் மற்றும் காலோக் பயன்படுத்தப்படுகின்றன, மேலும் அவை நினைவக ஒதுக்கீடு மற்றும் டி-ஒதுக்கீட்டிற்கு பயன்படுத்தப்படுகின்றன. கணினி நிரலாக்கத்தில் டைனமிக் நினைவக ஒதுக்கீடு மிக முக்கியமான கருத்தாகும். ஒரு நிரலை எழுதுவதற்கு முன்பு நீங்கள் கணினியில் நினைவகத்தை ஒதுக்க வேண்டும், அந்த நினைவகம் செயல்படுத்துவதற்கு பயன்படுத்தப்படுகிறது.
மல்லோக் என்பது பைட்டுகளில் நினைவகத் தொகுதியை ஒதுக்கப் பயன்படும் ஒரு செயல்பாடு. தொகுதியின் அளவு பயனரால் தீர்மானிக்கப்படுகிறது மற்றும் குறியீட்டை எழுதுவதற்கு முன்பு நினைவகத் தொகுதியின் அளவை வரையறுப்பது மிகவும் முக்கியம். நினைவகத்தின் ஒதுக்கீடு ரேம் மூலம் வழங்கப்படுகிறது. எனவே நிரல், நினைவகத்தை ஒதுக்க ரேம் கோருகிறது. நீங்கள் ஒரு கோரிக்கையைச் செய்யும்போது, malloc செயல்பாடு வெற்றிகரமாக இருப்பதாகவும், நினைவகம் ஒதுக்கப்படுவதைக் காட்டிலும் அந்தக் கோரிக்கை ஏற்றுக்கொள்ளப்படும். Malloc செயல்பாட்டால் நினைவகத்தை ஒதுக்க முடியவில்லை என்றால், NULL திரும்பியது. Malloc செயல்பாட்டின் வேலை ஒரு calloc செயல்பாட்டிற்கு மிகவும் ஒத்திருக்கிறது, ஏனெனில் இந்த இரண்டு செயல்பாடுகளும் நினைவக ஒதுக்கீட்டை ஒதுக்குகின்றன. நினைவகத்தின் கோரிக்கைக்கு காலோக் இரண்டு வாதங்களை எடுக்கிறார். காலோக்கில் நாம் தரவு வகையின் அளவை ஒதுக்க வேண்டும். காலோக்கில் உள்ள இரண்டு ஆர்குமென்ட்கள் காற்புள்ளிகளால் பிரிக்கப்படுகின்றன.
பொருளடக்கம்: மல்லோக்கிற்கும் காலோக்கிற்கும் உள்ள வேறுபாடு
- ஒப்பீட்டு விளக்கப்படம்
- malloc
- calloc
- முக்கிய வேறுபாடுகள்
- தீர்மானம்
- விளக்க வீடியோ
ஒப்பீட்டு விளக்கப்படம்
அடிப்படையில் | malloc | calloc |
பொருள் | malloc கோரப்பட்ட நினைவகத்தின் ஒரே ஒரு தொகுதியை ஒதுக்குகிறது | கோரப்பட்ட நினைவகத்தின் பல தொகுதிகளை ஒதுக்க அழைப்பு.
|
தொடரியல் | மல்லோக்கின் தொடரியல் void * malloc (size_t size); | காலோக்கின் தொடரியல் void * calloc (size_t num, size_t size); |
வேகம் | மல்லோக் காலோக்கை விட வேகமானது | காலோக் மல்லோக்கை விட மெதுவாக உள்ளது |
துவக்கம் | malloc () ஒதுக்கப்பட்ட நினைவகத்தை அழிக்கவில்லை மற்றும் துவக்காது. | ஒதுக்கப்பட்ட நினைவகம் calloc () ஐப் பயன்படுத்தி பூஜ்ஜியத்திற்கு துவக்கப்படுகிறது. |
malloc
மல்லோக் என்பது பைட்டுகளில் நினைவகத் தொகுதியை ஒதுக்கப் பயன்படும் ஒரு செயல்பாடு. தொகுதியின் அளவு பயனரால் தீர்மானிக்கப்படுகிறது மற்றும் குறியீட்டை எழுதுவதற்கு முன்பு நினைவகத் தொகுதியின் அளவை வரையறுப்பது மிகவும் முக்கியம். நினைவகத்தின் ஒதுக்கீடு ரேம் மூலம் வழங்கப்படுகிறது. எனவே நிரல், நினைவகத்தை ஒதுக்க ரேம் கோருகிறது. நீங்கள் ஒரு கோரிக்கையைச் செய்யும்போது, malloc செயல்பாடு வெற்றிகரமாக இருப்பதாகவும், நினைவகம் ஒதுக்கப்படுவதைக் காட்டிலும் அந்தக் கோரிக்கை ஏற்றுக்கொள்ளப்படும். Malloc செயல்பாட்டால் நினைவகத்தை ஒதுக்க முடியவில்லை என்றால், NULL திரும்பும்.
calloc
Malloc செயல்பாட்டின் வேலை ஒரு calloc செயல்பாட்டிற்கு மிகவும் ஒத்திருக்கிறது, ஏனெனில் இந்த இரண்டு செயல்பாடுகளும் நினைவக ஒதுக்கீட்டை ஒதுக்குகின்றன. நினைவகத்தின் கோரிக்கைக்கு காலோக் இரண்டு வாதங்களை எடுக்கிறார். காலோக்கில், தரவு வகையின் அளவை நாம் ஒதுக்க வேண்டும். காலோக்கில் உள்ள இரண்டு ஆர்குமென்ட்கள் காற்புள்ளிகளால் பிரிக்கப்படுகின்றன.
முக்கிய வேறுபாடுகள்
- கோரப்பட்ட நினைவகத்தின் ஒரே ஒரு தொகுதியை மல்லோக் ஒதுக்குகிறார், அதே நேரத்தில் காலோக் கோரப்பட்ட நினைவகத்தின் பல தொகுதிகளை ஒதுக்குகிறது.
- Malloc இன் தொடரியல்: வெற்றிட * malloc (size_t size); அதேசமயம், காலோக்கின் தொடரியல் வெற்றிடமானது * காலோக் (அளவு_ எண், அளவு_ அளவு);
- மல்லோக் காலோக்கை விட வேகமானது, அதே சமயம் காலோக் மல்லோக்கை விட மெதுவாக உள்ளது.
- malloc () ஒதுக்கப்பட்ட நினைவகத்தை அழிக்கவில்லை மற்றும் துவக்கவில்லை, அதேசமயம் ஒதுக்கப்பட்ட நினைவகம் calloc () ஐப் பயன்படுத்தி பூஜ்ஜியத்திற்கு துவக்கப்படுகிறது.
தீர்மானம்
மேலேயுள்ள இந்த கட்டுரையில், மல்லோக்கிற்கும் காலோக்கிற்கும் மற்றும் செயல்படுத்தலுக்கும் உள்ள தெளிவான வேறுபாட்டைக் காண்கிறோம்.