人们谈论堆栈和堆是什么以及它们之间的差异.但我很想知道如果一个CPU不支持堆栈和堆结构,那么C可以在没有堆栈和堆的情况下正常运行吗?
我搜索了很多,但找不到任何与此相关的主题。我的问题是:结构变量是指针吗?如果每个输入都存储在结构体成员的地址中,那么结构体变量有什么用呢?
这是我用于检查结构变量的代码,当我打印变量中存储的内容时,它给了我另一个地址,但我无法弄清楚该地址的用途。
这是我的代码及其输出:
struct test
{
int a;
int b;
char c;
};
int main()
{
struct test f;
printf("%u", &f);
printf("\n%d", f);
printf("\n%u", &f.a);
printf("\n%u", &f.b);
}
Run Code Online (Sandbox Code Playgroud)
输出:
6487616
6487600
6487616
6487620
在Java中,当要执行一个方法时,首先在对象的真实类(定义对象的真实类型)中搜索它的声明。如果没有找到,则检查超类。如果在那里也找不到,则检查下一个父类,依此类推。但是,请看下面的示例:
SuperClass s = new SubClass(list of parameter);
s.someMethodExistOnlyInSubClass();
Run Code Online (Sandbox Code Playgroud)
这会给我一个编译时错误。我认为,如上所述,它会首先查找someMethodExistOnlyInSubClass()at SubClass,验证它是否存在,然后立即执行它。如果我使用该类型的变量SuperClass来引用某些参数的实例,SubClass将SuperClass通过调用转到 的构造函数super(),并且该对象将在那里实例化。在这种情况下,剩下的参数到哪里去了?