संभव डुप्लिकेट:
Sizeof an array in the C programming language?
Why does a C-Array have a wrong sizeof() value when it's passed to a function?सी में सरणी की लंबाई कैसे प्राप्त करें? एक समाधान "आकार" है?
नीचे कोड देखें और मुझे सुझाव है कि क्या की "sizeof" कीवर्ड अंतर जब मैं इस तरह इस्तेमाल किया है:
#include<stdio.h>
#include<conio.h>
void show(int ar[]);
void main()
{
int arr[]={1,2,3,4,5};
clrscr();
printf("Length: %d\n",sizeof(arr));
printf("Length: %d\n",sizeof(arr)/sizeof(int));
show(arr);
getch();
}
void show(int ar[])
{
printf("Length: %d", sizeof(ar));
printf("Length: %d", sizeof(ar)/sizeof(int));
}
लेकिन उत्पादन इस तरह है:
आउटपुट है:
लंबाई: 10
की लंबाई: 5
की लंबाई: 2
की लंबाई: 1
मुझे ऐसा क्यों मिल रहा है; अगर मैं पूरे डेटा को एक सरणी से दूसरे सरणी में ले जाना चाहता हूं तो मैं कैसे कर सकता हूं?
मुझे सुझाव दें अगर कोई जानता है।
आप सी में किसी भी जानकारी के साथ सी में एक सरणी का आकार नहीं प्राप्त कर सकते हैं। – m0skit0
@ ओली चार्ल्सवर्थ: मैंने Google में खोज की लेकिन मुझे आपके द्वारा प्रदान किया गया लिंक नहीं मिला; प्रदान करने के लिए धन्यवाद; – alishaik786
आप एक सरणी पैरामीटर का आकार नहीं प्राप्त कर सकते हैं। –