const int t=10;肯定是有空间的.const变量与普通变量一样 只不过该地址被编译器解释为只读而已.
这个是c中const,C++中的不同.
我前边说的很清楚啊,你的语句里有&j,当然就分配空间了上边的话不是我说的,是Thinking in C++里话.
那你觉得const应该是什么呢?
很简单.一个关键字.它的作用是使该内存地址为只读.
为什么是内存地址,不是内存内容呢?
哦,是一样的.可能是看到地址,习惯性的联系到指针
对了const int i=10;这个i是分配在静态存储区吧?(如果分配空间)
这个不好说,反正a(100,100)在内存中是存在的,关键是在栈区,还是在常量区
想出来了THINKING IN C++说的那个情况只是一种特殊情况也就是在这一种情况下才不会非配地址const int t=10;int s[t];.........char ss[t];下面只会用t当一个常数的别名,不会当作它用时,才不分配空间
之所以那里这么说,就象刚讲const,它不会提及const在函数里面的功能只讲const最基本的用途会回避一些放到以后说
难道说t只有在当数组下标时才不分配地址?