Was ist der Unterschied zwischen # define N 100 und int n = 100?

F

fatma1000

Guest
Was ist der Unterschied zwischen # define N 100 Doppel-H [N] und int N = 100; Doppel-H [N];
 
hallo secound Code nicht funktioniert cuz, wenn u declear eine statische Array Compiler kennt die Dimension dieses und in diesem Zustand den Wert von N ist unbekannt in der Kompilierung bis zur Laufzeit. aber in erster Code u Verwendung von Precompiler expresion # define, dass ist das gleiche wie u schreiben int H [100];. wenn u auf ein Array mit dynamischen Dimension verwenden aus neuen und Löschvorgänge erstellen möchten int * H = NULL; int N = 100; H = (int *) new int [N];. . . Verwendung von H wie ein Array und wenn u dont brauchen es nicht mehr. u sollte frei Erinnerung daran: delete [] H, H = NULL;
 
Hallo, int N = 100; Doppel-H [N]; das wird nicht funktionieren, aber const int N = 100; Doppel-H [N]; dies funktionieren wird, und der Unterschied zwischen 1) # define N 100 Doppel-H [N]; und 2) const int N = 100; Doppel-H [N]; in Fall 1, der Compiler ersetzen Sie einfach die N mit der Nummer definiert und kompiliert den Code, ist dies während der Vorkompilierung Phase des Compilers in Fall 2, der Compiler fertig kompiliert den Code wie es ist und ich würde diese empfehlen, da der Code ist typsicher auf diese Weise.
 

Welcome to EDABoard.com

Sponsor

Back
Top