मैं एक सरणी की लंबाई प्राप्त करना चाहता हूं, int array[] = {1, 2, 3, 4}
कहें। मैंने ऐसा करने के लिए sizeof
का उपयोग किया।क्यों आकार (param_array) सूचक का आकार है?
int length(int array[])
{
return sizeof(array)/sizeof(int);
}
int main()
{
int array[] = {1, 2, 3, 4};
printf("%d\n", length(array)); // print 1
printf("%d\n", sizeof(array)/sizeof(int)); // print 4
}
तो, क्यों समारोह length
array
का सूचक आकार रिटर्न में sizeof(array)
? लेकिन समारोह में main
, यह काम करता है।
और, मुझे सरणी की लंबाई प्राप्त करने के लिए length
फ़ंक्शन को कैसे संशोधित करना चाहिए?
हाँ, मैं जानता हूँ कि यह एक सी ++ सवाल है, लेकिन यह सी के रूप में अच्छी के विषय में बहुत ही उपयोगी जानकारी होती है: http://stackoverflow.com/questions/4810664/how-do-i-use-arrays-in -सी – chris