的#define N 100和int N = 100之间的区别是什么?

F

fatma1000

Guest
的#define N 100双H之间的区别是什么[N];和int N = 100;双H [N];
 
您好secound代码不CUZ时declear静态数组的编译器应该知道该在此条件下的维和N的值在编译时是未知的,直到运行时。但在第一个代码u使用预编译expresion#定义是一样ü写int H [100];如果要创建一个数组与动态维度使用new和delete操作。 * H = NULL; INT N = 100,H =(INT *)新的int [N];。 。 。使用像一个数组,当你需要更多的从H。应该可用内存:删除[] H,H = NULL;
 
您好,INT N = 100;双H [N];这将无法工作,但是const int的N = 100;双H [N];本会工作的区别1)的#define N 100双H [N];和2)const int的N = 100;双H [N]; 1的情况下,编译器只是定义和编译代码的数字取代的N,这样做是在编译器的预编译阶段2的情况下,编译器编译的代码,因为它是我会推荐这家,因为代码是类型安全这样。
 

Welcome to EDABoard.com

Sponsor

Back
Top