#nは100とint型のn = 100を定義の違いは何ですか?

F

fatma1000

Guest
とint N = 100;ダブルH [N];の#define N 100ダブルH [N]の違いは何です
 
U declear静的配列のコンパイラはその次元を知っている必要があり、この状態でNの値は実行時までコンパイル時に不明の場合にハイsecoundコードはcuzを動作していません。しかし、プリコンパイラexpresionから最初のコードuの使用中の#uの書き込みint型Hと同じであることを定義する[100]; uは新しいおよび削除操作の動的なディメンションを使用した配列を作成する場合。 int型* H = NULL; int型N = 100、H =(INT *)新しいint [N];。 。 。配列としたとき、uはそれ以上それを必要といけないようなHから使用してください。 uはそれのメモリを解放する必要があります:削除[] H、H = NULL;
 
こんにちは、int型N = 100;ダブルH [N];これは動作しません、しかし、型const int N = 100;ダブルH [N];これは動作しますと1の間の差)#Nを定義する100ダブルH [N];と2)はconst int型N = 100;ダブルH [N];ケース1で、コンパイラは単に数定義とコードをコンパイルするとnを取り替えて、これはケース2のコンパイラのプリコンパイルの段階、コンパイラ中に行われますそれは、コードがこのように多くのタイプセーフなので、私はこれを推薦するようにコードがコンパイルされます。
 

Welcome to EDABoard.com

Sponsor

Back
Top