के साथ एक सरणी का विस्तार करना मैं सामान्य रूप से मॉलोक और सी के लिए थोड़ा नया हूं। मैं जानना चाहता था कि यदि आवश्यक हो, तो मैं कैसे कर सकता हूं, अन्यथा निश्चित आकार के सरणी के आकार को मॉलोक के साथ बढ़ाएं।सी: मॉलोक
उदाहरण:
#define SIZE 1000
struct mystruct
{
int a;
int b;
char c;
};
mystruct myarray[ SIZE ];
int myarrayMaxSize = SIZE;
....
if (i > myarrayMaxSize)
{
// malloc another SIZE (1000) elements
myarrayMaxSize += SIZE;
}
- ऊपर के उदाहरण से स्पष्ट है कि मैं क्या करना चाहते बनाना चाहिए।
(वैसे: मैं इस एक दुभाषिया मैं लिखने के लिए की जरूरत है: चर की और मामले अधिक की जरूरत है में एक निश्चित राशि के साथ काम करें, बस उन्हें गतिशील रूप से आवंटित)
'x = realloc (x, newsize) 'एक स्मृति रिसाव होने का इंतजार कर रहा है। –
अच्छा बिंदु। मैंने realloc विफलताओं को संभालने के लिए उदाहरण कोड अद्यतन किया है। –
'myarray = myrealloced_array)' होना चाहिए 'myarray = myrealloced_array; ':) – Saul