web-dev-qa-db-fra.com

Utilisation de #define dans le programme C

J'essaie d'utiliser #define pour définir une constante dans mon programme. Je me rends compte que je pourrais utiliser const, mais j'essaie de bien comprendre #define. Quelqu'un pourrait-il expliquer pourquoi le code suivant ne fonctionne pas et devrait être fait à la place?

#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;
}
27
Oliver Spryn

Vous devez supprimer ; après20, comme ça

#define M 20
64
nabroyan