2013-03-17 7 views
27

मैं अपने प्रोग्राम में निरंतर परिभाषित करने के लिए #define का उपयोग करने का प्रयास कर रहा हूं। मुझे एहसास है कि मैं const का उपयोग कर सकता हूं, लेकिन मैं #define की अच्छी समझ प्राप्त करने की कोशिश कर रहा हूं। क्या कोई कृपया बता सकता है कि निम्नलिखित कोड क्यों काम नहीं करता है, और इसके बजाय किया जाना चाहिए?सी प्रोग्राम में #define का उपयोग

#include <stdio.h> 
#define M 20; 
typedef int Marray_t[M][M]; //I can't define an M x M array 

int main() { 
    Marray_t A; 
    int i; 

    for (i = 0; i < M; ++i) { //Can't iterate up to M 
    A[i] = i; 
    } 

    return 0; 
} 

उत्तर

63

आप 20 के बाद ; निकालना होगा, इस

#define M 20 
+1

ओह की तरह ... यह '20 के रूप में परिभाषित किया गया था,'। मैंने पूरी तरह से ऐसा नहीं सोचा था! धन्यवाद। –

+0

आपका स्वागत है और धन्यवाद :) – nabroyan

+0

आपकी सभी प्रतिष्ठाओं में से आधे से अधिक इस जवाब से है ... – theonlygusti

संबंधित मुद्दे