2013-03-17 29 views
27

Programımda bir sabit tanımlamak için #define kullanmayı deniyorum. const'u kullanabileceğimin farkındayım, ancak #define'u iyi anlamaya çalışıyorum. Birisi aşağıdaki kodun neden çalışmadığını açıklayabilir ve bunun yerine yapılmalı mıdır?C Programında #define Kullanımı

#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; 
} 

cevap

63

Bu

#define M 20 
+1

Ah gibi, 20 sonra ; kaldırması gerekir ... Bu 20 'olarak tanımlayan edildi;'. Bunu hiç düşünmedim! Teşekkür ederim. –

+0

Rica ederim. Teşekkür ederim :) – nabroyan

+0

Tüm saygınlığınızın yarısından fazlası bu tek cevaptan… – theonlygusti