本質的な違いを宣言、定義する:メモリの割り当ての有無
1266 ワード
1、声明:
一般的に、後ろの名前にはexternキーが付けられています.たとえば、次のようになります.
extern int a; //
このプロシージャは、 であり、コンパイラにこの が の で されていることを えます.これは な にすぎません.このプロシージャはメモリを り てていません.
2、 :
int x; // +
が すると、 には が まれ、コンパイラはメモリを り てます.
3、 :
int x = 10;
、 はすべて でメモリを り てて、まして は うまでもありません.
4、 :
extern int pi = 3.14;
に 、 、 が し、メモリが り てられているのは です.
5、 の い
、 、 の な いは、メモリの り ての です. らかに、 はコンパイラにこのような または が するという を えただけで、コンパイルにこのような が することを えただけで、この または は の で されているので、この でメモリを り てません. すると、コンパイラは にメモリ を り てます. は、 り てられたメモリに された を することで します.
6、
は、コンパイラにこの が の で されたオブジェクトであることを す な と されます.
は、 された にメモリが り てられる な です.
extern int a; //
このプロシージャは、 であり、コンパイラにこの が の で されていることを えます.これは な にすぎません.このプロシージャはメモリを り てていません.
2、 :
int x; // +
が すると、 には が まれ、コンパイラはメモリを り てます.
3、 :
int x = 10;
、 はすべて でメモリを り てて、まして は うまでもありません.
4、 :
extern int pi = 3.14;
に 、 、 が し、メモリが り てられているのは です.
5、 の い
、 、 の な いは、メモリの り ての です. らかに、 はコンパイラにこのような または が するという を えただけで、コンパイルにこのような が することを えただけで、この または は の で されているので、この でメモリを り てません. すると、コンパイラは にメモリ を り てます. は、 り てられたメモリに された を することで します.
6、
は、コンパイラにこの が の で されたオブジェクトであることを す な と されます.
は、 された にメモリが り てられる な です.