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

C प्रोग्राम में हेडर फाइल को दो बार शामिल करने पर क्या होता है?


हेडर फाइल और #include निर्देश

C में हेडर फाइल्स (.h) पूर्वनिर्धारित फंक्शन्स, मैक्रोज़ और घोषणाएँ रखती हैं। #include प्रीप्रोसेसर निर्देश इन्हें प्रोग्राम में सम्मिलित करता है।

दो बार शामिल करने पर व्यवहार

जब एक ही हेडर फाइल को दो बार #include किया जाता है, तो दूसरी बार इसे अनदेखा (ignore) कर दिया जाता है। ऐसा इसलिए होता है क्योंकि मानक हेडर फाइल्स में इन्क्लूड गार्ड (Include Guards) होते हैं।

इन्क्लूड गार्ड का उदाहरण (stdio.h के अंदर)

#ifndef _STDIO_H
#define _STDIO_H

// हेडर फाइल की सामग्री
int printf(const char*, ...);
int scanf(const char*, ...);

#endif

पहली बार _STDIO_H परिभाषित नहीं होता, इसलिए सामग्री सम्मिलित होती है। दूसरी बार यह पहले से परिभाषित होता है, इसलिए #ifndef ब्लॉक छोड़ दिया जाता है।

उदाहरण प्रोग्राम

#include <stdio.h>
#include <stdio.h>  // दूसरी बार - अनदेखा होगा

int main() {
    int a, b, c;
    float avg;
    
    printf("a, b, c के मान दर्ज करें: ");
    scanf("%d %d %d", &a, &b, &c);
    
    int sum = a + b + c;
    avg = sum / 3.0;
    
    printf("औसत = %.2f\n", avg);
    return 0;
}

महत्वपूर्ण बिंदु

  • यदि आप अपनी खुद की हेडर फाइल बनाते हैं, तो आपको स्वयं इन्क्लूड गार्ड लगाना चाहिए।
  • बिना गार्ड के दो बार शामिल करने पर पुनर्परिभाषा त्रुटि (redefinition error) आ सकती है।
  • आधुनिक कंपाइलर #pragma once भी सपोर्ट करते हैं जो सरल विकल्प है।

खुद की हेडर फाइल के लिए गार्ड पैटर्न

// myheader.h
#ifndef MYHEADER_H
#define MYHEADER_H

void myFunction();

#endif
  1. C प्रोग्राम: समानांतर चतुर्भुज की परिधि ज्ञात करना C प्रोग्राम: समानांतर चतुर्भुज की परिधि ज्ञात करना

    समानांतर चतुर्भुज (Parallelogram) क्या है? एक समानांतर चतुर्भुज एक चतुर्भुज है जिसके: विपरीत भुजाएं समानांतर होती हैं विपरीत कोण समान होते हैं विकर्ण एक-दूसरे को द्विभाजित करते हैं परिधि/परिमाप सूत्र यदि भुजाएं a और b हैं, तो: परिधि = 2(a + b) = 2a + 2b उदाहरण भुजा aभुजा bपरिधि 231270.00 16.

  1. C++ में दो रेखाओं के प्रतिच्छेदन बिंदु के लिए प्रोग्राम C++ में दो रेखाओं के प्रतिच्छेदन बिंदु के लिए प्रोग्राम

    दिए गए बिंदु A और B रेखा AB के अनुरूप हैं और बिंदु P और Q रेखा PQ के अनुरूप हैं; कार्य इन दो रेखाओं के बीच प्रतिच्छेदन बिंदु को खोजना है।नोट − बिंदु X और Y निर्देशांकों पर 2D तल में दिए गए हैं।यहां A(a1, a2), B(b1, b2) और C(c1, c2), D(d1, d2) वे निर्देशांक हैं जो दो अलग-अलग रेखाएं बनाते हैं और

  1. पायथन प्रोग्राम: दो संख्याओं के सामान्य भाजक पायथन प्रोग्राम: दो संख्याओं के सामान्य भाजक

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें दो पूर्णांक दिए गए हैं, हमें दो संख्याओं के सामान्य भाजक प्रदर्शित करने हैं। यहां हम इनपुट के रूप में ली गई दो संख्याओं का न्यूनतम निकालते हैं। एक लूप से विभाजकों की गणना की जाती है जो प्रत्येक मान को 1 से न्यूनतम गणना तक विभा