可能重复:
数组名是C中的指针吗?
C++静态数组与动态数组?
我正在学习C而且我对以下两个数组之间的区别感到困惑:
int a[10];
Run Code Online (Sandbox Code Playgroud)
和
int *b = (int *) malloc(10 * sizeof(int));
Run Code Online (Sandbox Code Playgroud)
就最基本的水平而言,这两者有什么区别?
int a[10];
Run Code Online (Sandbox Code Playgroud)
在堆栈上分配,并在范围结束后解除分配.
int *b = (int *) malloc(10 * sizeof(int));
Run Code Online (Sandbox Code Playgroud)
在堆上分配,并且在程序的整个生命周期中都是活动的,除非它明确地自由 d.