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

सी . में नामित प्रारंभकर्ता

C90 मानक में हमें निश्चित क्रम में सरणियों को इनिशियलाइज़ करना होता है, जैसे कि इनिशियलाइज़ इंडेक्स 0, 1, 2 और इसी तरह। सी 99 मानक से, उन्होंने सी में निर्दिष्ट प्रारंभिक सुविधा पेश की है। यहां हम यादृच्छिक क्रम में तत्वों को प्रारंभ कर सकते हैं। सरणी अनुक्रमणिका या संरचना सदस्यों का उपयोग करके आरंभीकरण किया जा सकता है। यह एक्सटेंशन GNU C++ में लागू नहीं किया गया है।

अगर हम कुछ इंडेक्स निर्दिष्ट करते हैं और कुछ मूल्य डालते हैं, तो यह इस तरह दिखेगा -

int arr[6] = {[3] = 20, [5] = 40}; or
int arr[6] = {[3]20, [5]40};

यह इसके बराबर है:

int arr[6] = {0, 0, 0, 20, 0, 40};

हम इस सिंटैक्स का उपयोग करके तत्वों की कुछ श्रेणी भी रख सकते हैं:[प्रथम ... अंतिम] =मान।

int arr[6] = {[2 … 4] = 10};

यह इसके बराबर है:

int arr[6] = {0, 0, 10, 10, 10, 0};

यदि सरणी का आकार परिभाषित नहीं है, तो यह अधिकतम सूचकांक स्थिति से आकार प्राप्त कर सकता है। आइए बेहतर विचार प्राप्त करने के लिए कोड देखें।

उदाहरण कोड

#include <stdio.h>
int main() {
   int Array[] = {10, 20, 30, [3 ... 9] = 100, [10] = 65, 15, [80] = 50, [42] = 400 };
   int i;
   for (i = 0; i < 20; i++)
      printf("%d ", Array[i]);
      printf("\nArray[%d] = %d\n",80, Array[80]);
      printf("Array[%d] = %d\n",42, Array[42]);
      printf("Size of this array: %ld\n", sizeof(Array) / sizeof(Array[0]));
}

आउटपुट

10 20 30 100 100 100 100 100 100 100 65 15 0 0 0 0 0 0 0 0
Array[80] = 50
Array[42] = 400
Size of this array: 81

यह निर्दिष्ट आरंभीकरण संरचना या संघ प्रकार की वस्तुओं के लिए भी किया जा सकता है। उनके लिए हम किसी भी क्रम में शुरुआत में एक बिंदु (.) के साथ सदस्य चर के नाम का उपयोग करके वेरिएबल्स को इनिशियलाइज़ कर सकते हैं। स्पष्ट विचार प्राप्त करने के लिए, कृपया नीचे दिए गए कोड की जांच करें।

उदाहरण कोड

#include <stdio.h>
struct myStruct {
   int x;
   float y;
   char z;
};
int main() {
   struct myStruct str1 = {.y = 2.324, .z = 'f', .x = 78};
   struct myStruct str2 = {.z = 'r'};
   printf ("x = %d, y = %f, z = %c\n", str1.x, str1.y, str1.z);
   printf ("z = %c\n", str2.z);
}

आउटपुट

x = 78, y = 2.324000, z = f
z = r

  1. सी प्रोग्राम फ़ंक्शन में पॉइंटर्स का उपयोग करके योग और अंतर खोजने के लिए

    मान लीजिए कि हमारे पास दो संख्याएँ a और b हैं। हमें एक ऐसा फलन परिभाषित करना होगा जो (a + b) और (a - b) दोनों की गणना कर सके। लेकिन सी में एक फ़ंक्शन का उपयोग करके, हम अधिकतम एक मान पर वापस आ सकते हैं। एक से अधिक आउटपुट खोजने के लिए, हम पॉइंटर्स का उपयोग करके फ़ंक्शन तर्कों में आउटपुट पैरामीटर का उप

  1. सी . में नामित प्रारंभकर्ता

    C90 मानक में हमें निश्चित क्रम में सरणियों को इनिशियलाइज़ करना होता है, जैसे कि इनिशियलाइज़ इंडेक्स 0, 1, 2 और इसी तरह। सी 99 मानक से, उन्होंने सी में निर्दिष्ट प्रारंभिक सुविधा पेश की है। यहां हम यादृच्छिक क्रम में तत्वों को प्रारंभ कर सकते हैं। सरणी अनुक्रमणिका या संरचना सदस्यों का उपयोग करके आरंभ

  1. एल्स और C++17 में इनिशियलाइज़र्स के साथ स्टेटमेंट स्विच करें

    कई मामलों में, हमें किसी फ़ंक्शन द्वारा लौटाए गए किसी चीज़ के मूल्य को सत्यापित करने और इस मान के आधार पर सशर्त संचालन करने की आवश्यकता होती है। तो हमारा कोड नीचे दिया गया है - // Some method or function return_type foo(Params) // Call function with Params and // store return in var1 auto var1 = foo