Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C/C++ में int ऐरे का आकार कैसे खोजें


C/C++ में स्टैटिक ऐरे का आकार (तत्वों की संख्या) sizeof ऑपरेटर से प्राप्त किया जा सकता है।

विधि

size_t count = sizeof(array) / sizeof(array[0]);
  • sizeof(array): पूरे ऐरे का कुल बाइट आकार।
  • sizeof(array[0]): एक तत्व का आकार।
  • भागफल = तत्वों की संख्या।

उदाहरण

#include <iostream>
using namespace std;

int main() {
    int data[] = {11, 22, 33, 44, 55, 66, 77, 88, 99, 91, 82, 73, 64};
    
    cout << "Memory occupied by data[]: " << sizeof(data) << " bytes\n";
    cout << "Number of elements: " << sizeof(data) / sizeof(data[0]) << endl;
    
    // मैक्रो के रूप में (सामान्य अभ्यास)
    #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
    cout << "Using macro: " << ARRAY_SIZE(data) << endl;
    
    return 0;
}

आउटपुट

Memory occupied by data[]: 52 bytes
Number of elements: 13
Using macro: 13

महत्वपूर्ण सीमाएं

  • केवल स्टैटिक/ऑटोमैटिक ऐरे पर काम करता है जिसका आकार कंपाइल टाइम पर ज्ञात हो।
  • फंक्शन पैरामीटर के रूप में पास किए गए ऐरे पर काम नहीं करता - वे पॉइंटर में डिके हो जाते हैं।
  • डायनामिकली अलोकेटेड मेमोरी (malloc, new) पर काम नहीं करता।

फंक्शन में ऐरे पास करना

void printSize(int arr[]) {  // वास्तव में int *arr
    // sizeof(arr) यहां पॉइंटर आकार देता है (4 या 8), ऐरे आकार नहीं!
    printf("In function: %zu\n", sizeof(arr));  // गलत!
}

int main() {
    int arr[10];
    printf("In main: %zu\n", sizeof(arr));  // सही: 40 (या 80)
    printSize(arr);
    return 0;
}

समाधान

  • आकार को अलग पैरामीटर के रूप में पास करें।
  • C++ में std::array या std::vector उपयोग करें (.size() विधि)।
  • C में स्ट्रक्चर में ऐरे + आकार रखें।
  1. - C# में सूची का आकार कैसे ढूंढें

    एक सूची घोषित करें और आरंभ करें। var products = new List(); products.Add(Accessories); products.Add(Clothing); products.Add(Footwear); आकार प्राप्त करने के लिए, Capacity प्रॉपर्टी का उपयोग करें। products.Capacity अब आइए सूची का आकार ढूंढने का पूरा कोड देखें। उदाहरण using System; using System.Collec

  1. - C# में दी गई सरणी की रैंक कैसे ढूंढें

    सरणी की रैंक ढूंढने के लिए, Rank प्रॉपर्टी का उपयोग करें। सबसे पहले, एक सरणी घोषित करें और आरंभ करें। int[,] myArr = new int[3,3]; अब, रैंक प्राप्त करें। myArr.Rank आइए पूरा कोड देखें: उदाहरण using System; class Demo { static void Main() { int[,] myArr = new int[3,3]; Console.Wr

  1. - C# में ऐरे की लंबाई कैसे ज्ञात करें?

    ऐरे की लंबाई ज्ञात करने के लिए Array.Length गुण का उपयोग करें।उदाहरणआइए एक उदाहरण देखें:using System; class Program {    static void Main(){       int[] arr = new int[10];       // लंबाई ज्ञात करना       int arrLength = arr.Length;