目录
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)
C++中char * 和char []的区别
在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",
问题的实质在于栈与堆控制权的问题,
我们只能操作堆(heap):这样的好处是灵活性大,我们可以自由的定义,内存申请,写入,资源回收。
对于栈(stack)是:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于
#include <iostream>
using namespace std;
main()
{
char *c1 = "abc";
char c2[] = "abc";
char *c3 = ( char* )malloc(3);
c3 = "abc";
printf("%d %d %s\n",&c1,c1,c1);