黑马程序员技术交流社区

标题: .NET中的两个问题 [打印本页]

作者: @雪飞鸿    时间: 2014-4-7 10:56
标题: .NET中的两个问题
1、声明和定义的区别;
2、托管堆栈和非托管堆栈的区别和联系(PS:我在C#中调用API时经常会出现托管堆和非托管堆不对称问题);
作者: @雪飞鸿    时间: 2014-4-8 10:06
怎么没人回答呢,求大神们帮忙······
作者: 一片白    时间: 2014-4-8 11:00
变量的声明有两种情况:
    (1) 一种是需要建立存储空间的(定义、声明)。例如:int a在声明的时候就已经建立了存储空间。
    (2) 另一种是不需要建立存储空间的(声明)。例如:extern int a其中变量a是在别的文件中定义的。
    前者是"定义性声明(defining declaration)"或者称为"定义(definition)",而后者是"引用性声明(referncing declaration)"。从广义的角度来讲声明中包含着定义,但是并非所有的声明都是定义,例如:int a它既是声明,同时又是定义。然而对于extern a来讲它只是声明不是定义。一般的情况下我们常常这样叙述,把建立空间的声明称之为"定义",而把不需要建立存储空间称之为"声明"。很明显我们在这里指的声明是范围比较窄的,也就是说非定义性质的声明。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2